我有一个班级,它是modelForm。
class UserGoal(models.Model):
user = models.ForeignKey(User)
goal = models.ForeignKey(Goal)
deadline = models.DateTimeField(blank=True, null=True)
goalETA = models.DateTimeField(blank=True, null=True)
def __unicode__(self):
return u'%s, %s, %s ' %(self.user, self.goal, self.deadline)
class partialGoalSetForm(ModelForm):
class Meta:
model = UserGoal
fields = ('deadline', 'goalETA')
此代码适用于只有2个字段(截止日期和goalETA)在表单中。但是,如果我从列表中删除一个:
fields = ('deadline')
然后,我收到以下错误:
django.core.exceptions.FieldError:为UserGoal指定的未知字段(a,e,d,i,l,n)
似乎是字符标记“截止日期”。非常奇怪。
我尝试过的解决方案包括:
fields = ('deadline')
fields = 'deadline'
field = ('deadline')
field = 'deadline'
这些都不起作用。
有什么建议吗?谢谢你的帮助。
答案 0 :(得分:2)
由于字段只有一个项目,因此需要将尾随逗号视为元组。否则,它被视为字符串"deadline"
。
fields = ('deadline',)