我希望使用Django Query Set以最佳方式解决这个问题。
每个图书馆只能有一本图书。 有几个图书馆可以有同一本书的多个实例(即:Library1可以有一个“龙纹身女孩”的实例,而Library4可以有另一个“龙纹身女孩”的实例)
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个图书馆的书?
答案 0 :(得分:1)
使用annotate
和Count
。
Book.objects.annotate(n_libraries=Count('library')).filter(n_libraries__lt=3)