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

Append comma afterで変更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 に答える