在Django QuerySet中,如何返回多行的ManyToManyField?

时间:2009-09-15 21:04:47

标签: django

最好通过示例解释问题,考虑以下两个模型:

class Topping(models.Model):
    name = models.CharField(max_length=100)

class Pizza(models.Model):
    name = models.CharField(max_length=100)
    toppings = models.ManyToManyField(Toppping)

我的数据如下所示:

加入了Pizza和Topping表:

NAME        TOPPINGS
--------------------
deluxe      topping_1, topping_2
deluxe      topping_3, topping_4
hawaiian    topping_1

我希望得到名为deluxe的所有披萨的配料。有什么想法我必须编写什么样的QuerySet来获得那种结果?上述的预期输出将是:

[topping_1, topping_2, topping_3, topping_4]

1 个答案:

答案 0 :(得分:4)

Topping.objects.filter(pizza__name='deluxe')