Django-设置ForeignKey / ModelChoiceField的初始条件

时间:2010-11-02 18:06:51

标签: django webforms conditional-statements

我的应用程序有一个表单,用户填写并提交该表单以向数据库提交条目。 我有3个forms.ModelChoiceFields基于models.ForeignKey。 我通过我的观点将它们设置为初始值,其中2个按预期工作。 但是,第3个下拉列表使用2个字的元定义作为显示,名字和姓氏。我似乎无法弄清楚如何通过调用2个单词来初始填充表单。

#in views.py
form = EmployeeForm(initial={'facility':'None' # this works
'supervisor':'_ None'} # does not work

对于facility,None是db中的字符串条目,而不是None“value” 对于主管,_ None是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 个答案:

答案 0 :(得分:0)

您需要使用正确的名/姓作为初始值传递实例:

default_supervisor = Supervisor.objects.get(first_name='_', last_name='None')
form = EmployeeForm(inital={'supervisior': default_supervisor})