【发布时间】:2021-07-12 06:06:40
【问题描述】:
我有以下三个模型,Seller 作为祖父母,Genre 作为父母,Book 作为孩子:
class Seller(models.Model):
name = models.CharField(max_length=20)
def __str__(self):
return self.name
class Genre(models.Model):
seller= models.ForeignKey(Seller, related_name="genre", on_delete=models.CASCADE)
name = models.CharField(max_length=20)
def __str__(self):
return self.name
class Book(models.Model):
genre= models.ForeignKey(Genre, related_name="book", on_delete=models.CASCADE)
name = models.CharField(max_length=20)
def __str__(self):
return self.name
如果我使用prefetch_related() 在一个数据库查询中获取Seller 对象及其Genre 和Book,如下所示:
sellers = Seller.objects.prefetch_related('genre__book').filter()
但是,我想过滤掉与 Book 对象无关的 Seller 对象。在这种情况下,filter() 的语法是什么?
【问题讨论】:
标签: django