使用IN()进行django查询

时间:2012-04-19 13:43:47

标签: django django-models

我对这样构建的模型有问题:

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

class Pizza(models.Model):
    cook = models.ForeignKey(Cook)
    name = models.CharField(max_length=50)
    toppings = models.ManyToManyField(Topping)

我正在尝试在他的披萨上选择烹饪使用的所有配件

关于SQL的

我可以使用select * from Toppings t where t.id IN(select topping_id from Pizzas where cook_id = ?)或其他方式(肯定更有效:P)。问题是我必然会使用django模型,因为它存在底层依赖,比如分页。

因为它是许多应用程序使用的数据库,如果可以在不更改模型的情况下完成它将会很棒......

1 个答案:

答案 0 :(得分:4)

Topping.objects.filter(pizza__cook=mycook)