0

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

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

class ModelB(models.Model):
    a = models.ForeignKey(ModelA)
    value = models.CharField()

ModelB常に a に属しModelAます。をフィルタリングする特定のクエリがありますModelB

ModelB.objects.filter(value='foo')

そこからQuerySet、一致するModelAセットを取得する必要があります。だから私はこれを試しました:

>>> ModelB.objects.filter(value='foo').values('a')
[{'a': 2}, {'a': 4}, {'a': 6}]

しかし、ご覧のとおり、オブジェクトids しか取得できませんでした。オブジェクト自体を取得するにはどうすればよいですか?

4

2 に答える 2

4

ModelAs が必要な場合は、ModelAs を要求する必要があります。

ModelA.objects.filter(modelb__value='foo')
于 2012-06-05T20:38:16.243 に答える
0

現在、私はこの小さな数を持っています:

model_a_list = ModelB.objects.filter(value='foo').values('a')
ModelA.objects.filter(id__in=model_a_list)

これを行うためのより良い方法があれば幸いです。

于 2012-06-05T20:39:44.233 に答える