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は0address.country_id
更新するには:
address.country_id = "UK"
address.save()
おそらくあなたは更新を強制する必要があります: address.save(force_update=True)