-1

私はモデルを持っています:

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

class Model_2(models.Model):
    [...]
    m1 = models.ManyToManyField(Model_1, blank=True, null=True)

class Model_3(models.Model):
    [...]
    m1 = models.ForeignKey(Model_1)

そして、すべてのModel_3オブジェクトを単純にしたい。これまでのところ、私はこのようにしました:

obj = Model_2.objects.filter(...)
this_i_want = []
for my2 in obj:
    for my1 in my2.m1.all():
        objects = Model_3.objects.filter(m1=my1)
        for o in objects:
            this_i_want.append(o)

それを最も簡単にする方法は?Model_2から行かなければなりません。

4

1 に答える 1

1

これを試して:

Model_3.objects.filter(m1__model_2__in=Model_2.objects.all())
于 2012-07-18T00:04:33.453 に答える