Django如何通过相关对象过滤查询集

时间:2021-07-12 10:49:07

标签: python django

例如我有这样的模型:

class Sale(models.Model):
    name = models.CharField(max_length=100)
    some fields ...
    
class Book(models.Model):
    some fields ...

class BookInSale(models.Model):
    name = models.CharField(max_length=100)
    sale = models.ForeignKey(Sale, on_delete=models.CASCADE, related_name='books')

所以我想采用包含具有某些名称的 BookInSale 对象的 Sale 模型对象。 例如,有 3 个与 BookInSale 相关的 Sale 对象:Sale1 - BookInsale[name='Book1'], BookInSale[name='Book2']; Sale2 - BookInsale[name='Book1']; Sale3 - BookInsale[name='Book2']、BookInSale[name='Book3']。 而且我只想拿具有名称为“Book1”的 BooksInSale 对象的 Sale 对象

1 个答案:

答案 0 :(得分:0)

试试:

Sale.objects.filter(books__name="Book1")