/ /テーブルルックアップなしでDjango ForeignKeyフィールドのキー値にアクセスするにはどうすればよいですか? - django、django-models

テーブルルックアップなしでDjango ForeignKeyフィールドのキー値にアクセスするにはどうすればよいですか? - django、django-models

DjangoにForeignKeyを持ついくつかのモデルがあります意味のある(生成されていない)主キーを持つモデルにリンクされているフィールド。このようなモデルのインスタンスの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)

私は "Addressクラスのインスタンスを設定できるようにしたい" country 〜へのフィールド "US" 同様に、その値("US")言うことなく address.country.iso (おそらく)テーブルルックアップを強制します。それ、どうやったら出来るの?

回答:

回答№1は0
address.country_id

更新するには:

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

おそらくあなたは更新を強制する必要があります: address.save(force_update=True)