0

这是我的表格:

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

知道这里发生了什么吗?

4

3 回答 3

3

尝试在“blog_id”之后添加逗号

fields = ('blog_id',)

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

于 2013-01-31T00:38:28.103 回答
1

只需在 .fields = ('blog_id')之后fields = ('blog_id',)添加逗号进行更改blog_id

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

于 2013-01-31T00:31:57.520 回答
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)

于 2013-01-31T01:01:38.120 回答