如何使Django ModelForm只有一个字段?
我有一个类,它是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
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',)