私はこのように構築されたモデルに問題がある:Djangoのクエリ()
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モデルを使うことに縛られています。
それが変更モデルなしで行うことができれば、それは素晴らしいことだ、多くのアプリケーションで使用されるデータベースですので...
少しofftopicが、あなたの仕事であなたを助けるかもしれない、あなたはまた、すべてのリバースリンクを見つけることができます例えば特定のオブジェクトのための多くのものから多くのものへsome_topping.pizza_set.all()は、そのトピックを使用しているすべてのピザを返します。isinstance(some_topping、Topping)を確認してください。 –