0

我希望使用 Django Query Set 以最佳方式解决这个问题。

每个图书馆只能拥有一本书。多个图书馆可以有同一本书的多个实例(即:Library1 可以有“Girl with the Dragon Tattoo”的实例,Library4 可以有另一个“Girl with the Dragon Tattoo”的实例)

Book(models.Model):
    name = models.CharField(max_length=30)

Library(models.Model):
    book = models.ForeignKey(Book)    # multiple libraries have the book
    city = models.CharField(max_length=50)

那么我怎么能找到一本在少于 3 个图书馆的书呢?

4

1 回答 1

1

使用annotateCount

 Book.objects.annotate(n_libraries=Count('library')).filter(n_libraries__lt=3)
于 2013-01-18T18:09:25.340 回答