我是Django的新手,我正在尝试为我的模型自定义Admin界面,但在尝试添加ModelAdmin对象时出错。我的代码和错误包含在下面。如果我从register语句中取出BlogAdmin对象,我不会收到任何错误,并且网站加载正常。
感谢您的帮助!
class Blog(models.Model):
name = models.CharField(max_length=300)
url = models.URLField()
class BlogAdmin(admin.ModelAdmin):
list_display = ['name', 'url']
search_fields = ["name"]
admin.site.register([Blog,BlogAdmin])
我收到以下错误:
类型对象'BlogAdmin'没有属性'_meta'
Exception Location: /Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages/django/contrib/admin/sites.py in register, line 80
Python Executable: /Users/Bilal/Development/Django/ENV/traveller3/bin/python
Python Version: 2.7.1
Python Path:
['',
'/Applications/PyCharm.app/helpers/pydev',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages/MySQL_python-1.2.3c1-py2.7-macosx-10.7-intel.egg',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages/scikit_learn-0.9-py2.7-macosx-10.7-intel.egg',
'/Users/Bilal/Development',
'/Library/Python/2.7/site-packages/pip-1.0.2-py2.7.egg',
'/Users/Bilal/Development/scrapyard',
'/Applications/PyCharm.app/helpers',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python27.zip',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/plat-darwin',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/plat-mac',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/Bilal/Development/Django/ENV/traveller3/Extras/lib/python',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/lib-tk',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/lib-old',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages/PIL',
'/Library/Python/2.7/site-packages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
'/Users/Bilal/Development/Django/ENV/traveller3/lib/python2.7/site-packages/IPython/extensions']
答案 0 :(得分:16)
当你写:
admin.site.register([Blog, BlogAdmin])
您在管理员注册了两个模型:Blog
和BlogAdmin
,您必须为其注册Model
和ModelAdmin
,如下所示:
admin.site.register(Blog, BlogAdmin)