1. ホーム
  2. django

[解決済み] Django - 外部キーのプロパティでフィルタリングする

2022-05-05 06:40:47

質問

の特定のフィールドの値に基づいて Django のテーブルをフィルタリングしようとしています。 ForeignKey .

例えば、2つのモデルを持っています。

class Asset(models.Model):
    name = models.TextField(max_length=150)
    project = models.ForeignKey('Project')

class Project(models.Model):
    name = models.TextField(max_length=150)

関連するプロジェクトの名前に基づいて、アセットリストをフィルタリングしたいのですが。

現在、私は以下のことを行っています。 クエリを実行します。

project_list = Project.objects.filter(name__contains="Foo")
asset_list = Asset.objects.filter(desc__contains=filter,
                                  project__in=project_list).order_by('desc')

このようなフィルタリングをメインクエリで指定する方法はないでしょうか?

どのように解決するのですか?

Asset.objects.filter( project__name__contains="Foo" )