如何使Django ModelForm只有一个字段?

如何使Django ModelForm只有一个字段?,django,forms,field,modelform,Django,Forms,Field,Modelform,我有一个类,它是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 __unico

我有一个类,它是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') 
该代码在表单中只有两个字段“截止日期”和“目标”时运行良好。但是,如果我从列表中删除一个:

 fields = ('deadline')
然后,我得到以下错误:

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

它似乎通过字符来标记“截止日期”。很奇怪

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

 fields = ('deadline')

 fields = 'deadline'

 field = ('deadline')

 field = 'deadline'
这些都不管用


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

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


由于字段只有一个项,因此需要将尾部的逗号视为元组。否则,它将被视为字符串截止日期


太棒了,谢谢!成功了。所以,这个尾随逗号。这是因为python的动态类型?它将字段视为两种不同的数据类型是否有逗号?@DynamicViewer您似乎想问,它将字段视为两种不同的数据类型,这取决于是否有逗号?。两个问题的答案都是肯定的,谢谢!成功了。所以,这个尾随逗号。这是因为python的动态类型?它将字段视为两种不同的数据类型是否有逗号?@DynamicViewer您似乎想问,它将字段视为两种不同的数据类型,这取决于是否有逗号?。你两个问题的答案都是肯定的
fields = ('deadline',)