我目前有这样的设置。
#models.py
class Donate(model.Model):
item_locations = models.CharField(max_length=150)
#forms.py
ItemChoices = (('item1','item1'),('item2','item2'),('item3','item3'))
class DonateForm(ModelForm):
item_locations = CharField(choices=ItemChoices)
class Meta:
model = Donate
我想将item_locations更改为ForeignKey,让用户可以自己更改项目列表。我创建了另一个名为ItemLocations的类,并将其更改为
item_locations = models.ForeignKey(ItemLocation)
如何使数据库保留以前的记录? Donor1的项目位置为“Item1”,如何在将数据更改为外键后将其保存为“item_location_id”?
此外,这是否像南迁一样简单?我的DB是MySql。
./manage.py schemamigration donate --auto
答案 0 :(得分:3)
最简单的方法是:
get_or_create
。您可以通过预先计算事物并使用update
查询来加快速度。