django.core.exceptions.FieldError:未知字段(y,b,d,o)

时间:2011-11-12 19:34:26

标签: django django-models django-forms

我有一个模型,我有以下架构

  • 有Post模型
  • 并且给定帖子有一个答案模型(就像在堆栈溢出中一样)

由于我不希望用户填充某些字段,因此我为两个模型制作了自定义表单。自定义表单类对于第一个模型(即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')

我在网上没有发现类似的错误。

1 个答案:

答案 0 :(得分:10)

fields属性需要列表或元组。它找到一个字符串,它也是可迭代的,但迭代字符串会产生每个字符。

fields = ('body', )

这是一个相当常见的情况,确切的错误取决于你的字符串,所以很难谷歌。提示是字段列表(您是否可以更改字符的顺序?)

Unknown fields b, o, d, y

注意它们是如何成为一个字符,并从代码中拼出看起来像字符串值的内容