考虑这些假模型:
class City(models.Model):
name = models.CharField()
region = models.ForeignKey(Region)
class Region(models.Model):
name = models.CharField()
country = models.ForeignKey(Country)
class Country(models.Model):
name = models.CharField()
和像这样的表格:
class MyForm(forms.Form):
city = forms.CharField()
region = forms.CharField()
country = models.CharField()
我希望我的《更新展望》能显示当前值, 所以我设置了一个类似首字母的首字母:
model_initial = City.objects.filter(id=self.object.id).values()[0]
form = MyForm(initial=model_initial)
有点愚蠢,因为自. object 已经可用,所以我可以手动绘制值图
无论如何,这工作 但关系没有被捕捉, 所以我可以做:
model_initial = City.objects.filter(id=self.object.id).values()[0]
model_initial.update({ region :Somequery, country :Somequery})
form = MyForm(initial=model_initial)
但那样会非常下流,而且可能不需要。我试图看看哪些选择相关的东西能给我,但是却在那个查询中调用数值来回报额外的字段。
所以,问题:在这种情况下,什么是构建最初判决的好方法?