2017-04-06 8 views
1

Djangoには、意味のある(生成されていない)主キーを持つモデルにリンクされているForeignKeyフィールドを持つモデルがいくつかあります。このようなモデルのインスタンスのForeignKeyフィールドを設定または取得するには、テーブルルックアップで実際のオブジェクトを取得する必要はありません。ここでは例です:私はaddress.country.isoと(おそらく)力を言うしなくても、その値('US')を参照してください住所クラスのcountryフィールド'US'に、同様のインスタンスを設定できるようにしたいと思い テーブルルックアップなしでDjango ForeignKeyフィールドのキー値にアクセスするにはどうすればよいですか?

class Country(models.Model): 
    iso = models.CharField(
     max_length=2, 
     primary=True) 
    name = models.CharField(
     max_length=128, 
     null=False, 
     blank=False) 

class Address(models.Model): 
    street = models.CharField(max_length=64) 
    city = models.CharField(max_length=64) 
    country = models.ForeignKey(Country) 

テーブル参照。それ、どうやったら出来るの?

答えて

0
address.country_id 

を更新するには:

address.country_id = 'UK' 
address.save() 

をたぶん、あなたは更新を強制する必要があります。address.save(force_update=True)

+0

おかげで、私はそれを試してみましょう。 –