は、私はこれらのモデルを持っていると言う: オブジェクト全体を取得せずに外部キー値を取得していますか?
class Parent(models.Model):
slug = models.SlugField()
class Child(models.Model):
slug = models.SlugField()
parent = models.ForeignKey('Parent')
私はdict
を作成したい:
{x.parent.pk : x.slug for x in Child.objects.all()}
このコードは、反復ごとに別々のデータベースクエリを生成します。
Parent
オブジェクトを取得するだけで、主キーを取得することができます。そこにあるのは
Child
のオブジェクトです!親からは何も必要ありません。主キーだけです。基礎となる外部キーの値を取得するにはどうすればよいですか?
(はい、私はこれらの追加のクエリを取り除くためにselect_related()
を使用できることを知っているが、私の質問は、そのことについてではありません。)
感謝!
私はそれを試しました、それは動作します:)私は私の質問で指摘したように、親テーブルに参加せずに子テーブルからキーを取得する方法があるかどうかを調べることに興味があります。 – akonsu
@akonsu:編集 –