我有一个模型,我有以下架构
由于我不希望用户填充某些字段,因此我为两个模型制作了自定义表单。自定义表单类对于第一个模型(即Post Model)是绝对工作的,但是我对PostAns模型感到奇怪。如果我删除类PostAnsForm ,那么它可以正常工作。
class PostAns(models.Model):
created = models.DateTimeField(auto_now_add=True)
creator = models.ForeignKey(User, blank=True, null=True)
post = models.ForeignKey(Post)
body = models.TextField()
like_count = models.IntegerField(default=0,blank=True,null=True)
# If we use markdown can remove this if not
body_html = models.TextField(blank=True)
class PostAnsForm(ModelForm):
class Meta:
model = PostAns
fields = ('body')
我在网上没有发现类似的错误。
答案 0 :(得分:10)
fields
属性需要列表或元组。它找到一个字符串,它也是可迭代的,但迭代字符串会产生每个字符。
试
fields = ('body', )
这是一个相当常见的情况,确切的错误取决于你的字符串,所以很难谷歌。提示是字段列表(您是否可以更改字符的顺序?)
Unknown fields b, o, d, y
注意它们是如何成为一个字符,并从代码中拼出看起来像字符串值的内容