我有一個Django的博客,象這樣一個「郵報」的模式:Django Admin:爲什麼有些字段顯示爲空?
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"
}
您確定類別字段中的數據對應於原始值,即每個CHOICES元組中的第一個元素?當你在shell中獲得一個Post實例並執行'print post.category'時,你會看到什麼? –
@DanielRoseman,如果我使用'print'我會得到'早餐'。如果我只是使用'post.category',我會得到'u'breakfast''。但我已經嘗試將CHOICE tupple更改爲unicode值,並沒有幫助。 – GChorn
您可以向我們展示一個摘錄,即您的'fixturename.json'中的單個'Post'對象實例嗎?否則,恐怕很難幫助你。但是,您的問題可能與'category'字段中的屬性'blank = True'有關。另外,你的'PostAdmin'管理員配置類是什麼樣的? – pemistahl