在Django上显示动态表单时出错

时间:2013-01-31 00:20:03

标签: python django

这是我的表格:

from django.db import models
from django.forms import ModelForm
from django import forms


class Blog(models.Model):
    blog_id = models.CharField(max_length=100)

class TumblrForm(ModelForm):
    class Meta:
        model = Blog
        fields = ('blog_id')
        widgets = {
            'blog_id':forms.RadioSelect(),
        }

我基本上想向用户显示表单列表。

这是我实例化的地方:

form = TumblrForm(instance=blogs_id)

我收到错误说:

Unknown field(s) (b, d, g, i, l, o, _) specified for Blog

知道这里发生了什么吗?

3 个答案:

答案 0 :(得分:3)

尝试在'blog_id'之后添加逗号

fields = ('blog_id',)

看起来字符串'blog_id'被解释为字符列表而不是指定字段的单个字符串(现在通知错误消息包含blog_id的所有字符)。

答案 1 :(得分:1)

只需更改fields = ('blog_id') fields = ('blog_id',)blog_id之后添加逗号。

fields attribute应该是要包含在表单中的字段名称列表。

答案 2 :(得分:0)

class Blog(models.Model):
    blog_id = models.CharField(max_length=100)

class TumblrForm(forms.ModelForm):
    blog_id = forms.ChoiceField(widget=forms.RadioSelect, choices=CHOICES)

    class Meta:
        model = Blog

为什么你有blog_id?因为基本上django会在每个模型中自动创建id(pk)