我的应用程序有一个表单,它由用户完成并提交给数据库。 我有3个forms.ModelChoiceFields基于models.ForeignKey。 我通过我的观点将它们设置为初始值,其中2个按预期工作。 但是,第3个下拉列表使用2个字元定义作为显示,名字和姓氏。我似乎无法弄清楚如何通过调用2个单词来初始填充表单。Django设置ForeignKey/ModelChoiceField的初始条件
#in views.py
form = EmployeeForm(initial={'facility':'None' # this works
'supervisor':'_ None'} # does not work
对于工厂,没有一个是在一个数据库中的字符串项,而不是无 “价值” 对于主管,_无以dB
#part of class Facility
def __ unicode__ (self): #had to added spaces for _ _ to show here
return self.fac_name
#part of class Supervisor
def __ unicode__ (self): #same syntax note as above
return u'%s %s' % (self.first_name, self.last_name)
下拉式填充和正确提交 - 我唯一的问题是设置主管的初始值。我如何用两个名字来初始值?
谢谢!现在知道了,我可能会尝试使用1个单词作为外键下拉表单,少用代码! – 2010-11-02 20:47:40
我不知道你到底在做什么,但通常更可取的是使用'None'而不是现有的数据库条目! – 2010-11-02 21:43:42
嗯,我输入'无'(字符串值)数据库条目,因为当时所需的字段尽管(我认为),他们不应该。那么,正如我发现的那样,SQLite无法更新列属性,所以他们是必需的,因为我的原始模型参数。幸运的是,由于我没有任何真实的数据,我只是将数据库重建为新模型,并修复了我设置为null = blank = true但仍然存在错误的字段所带来的许多其他问题当没有。学过的知识。 – 2010-11-09 14:03:40