1

我有一堂课,它是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 个字段(deadline 和 goalETA)在表单中。但是,如果我从列表中删除一个:

 fields = ('deadline')

然后,我收到以下错误:

django.core.exceptions.FieldError:为 UserGoal 指定的未知字段(a、e、d、i、l、n)

它似乎是按字符标记“截止日期”。很奇怪。

我尝试过的解决方案包括:

 fields = ('deadline')

 fields = 'deadline'

 field = ('deadline')

 field = 'deadline'

这些都不起作用。

有什么建议么?感谢您的帮助。

4

1 回答 1

4

由于字段只有一项,因此需要将尾随逗号视为元组。否则,它被视为字符串"deadline"

fields = ('deadline',)
于 2012-11-03T20:20:47.253 回答