0

モデルがあります:

class MyObject (models.Model):
     name = models.CharField ()


class Day (models.Model):
     day = models.IntegerField ()


class Month (models.Model):
     month = models.IntegerField ()
     myobj = models.ForeignKey (MyObject)
     days = models.ManyToManyField (Day)

ウェブサイトのフォームを持つユーザーが月を紹介します。私はリクエストをします:

MyObject.objects.filter (month__month = <month, which is entered by the user with the form>
                                   <day, which is entered by the user with the form> in month__days????
)

ユーザーが入力した日付がモデル月のm2m通信日数に(現在)あるクエリを確認する方法は?

4

1 に答える 1

0

FK リレーションシップと同じように、M2M フィールドをクエリできます。

day = Day.objects.get(day=1)
Month.objects.filter(days=day)

ただし、 と の関係を逆引きする必要がありMyObjectますDay

「逆」の関係を参照するには、小文字のモデル名を使用します。

day = Day.objects.get(day=5)
month = Month.objects.get(month=3)

MyObject.objects.filter(month__month=month, month__days=day)
于 2013-05-22T08:33:49.630 に答える