0

次のような「投稿」モデルを使用した Django ブログがあります。

class Post(models.Model):
    title = models.CharField(max_length=1000)
    author = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    text = models.TextField(max_length=10000)
    CATEGORY_CHOICES = (
         ('breakfast','Breakfast'),
         ('brunch','Brunch'),
         ...
    )
    category = models.CharField(max_length=100,blank=True,choices=CATEGORY_CHOICES)

python manage.py loaddata fixturename.jsonコマンドを使用して、多数の「投稿」オブジェクト (上記のすべてのフィールドが入力された状態) をデータベースにアップロードしました。ただし、管理サイトにログインしてオブジェクトを変更すると、「カテゴリ」フィールドにアップロードした値が、フィールドのドロップダウン リストで事前に選択されたとおりに表示されません。どうしてこれなの?そして、それを修正する方法はありますか?

編集:これは私のjsonフィクスチャファイルからのスニペットです:

    {
    "pk": 34, 
    "model": "blogs.post", 
    "fields": {
        "category": "breakfast",  
        "author": "jennaboller", 
        "text": "I have to say, my favorite weekend breakfast is blah blah blah", 
        "title": "Corned Beef Hash & Eggs: My Favorite Weekend Breakfast", 
        "pub_date": "2011-01-25 05:05:37"
    }
4

1 に答える 1

0

質問に対する最後のコメントで私が言ったことによると、この問題はおそらくモデルのフィールドの属性blank=Trueに関連しています。ただし、サンプル モデル インスタンス ( breakfast ) に特定のカテゴリを指定したため、管理構成にも表示されるはずです。categoryPost

この動作の理由は、Django が、属性を設定blankした a に属性が含まれていることを想定していないことが原因である可能性があります。インスタンスが特定のカテゴリに属していないと言いたい場合は、などに別のオプションを含める方がよいでしょう。これは Django の admin モジュールのバグかもしれませんが、私はこれについて知りません。CharFieldchoicesPostCATEGORY_CHOICES('none', 'None')

于 2012-09-20T09:58:16.717 に答える