创建ModelAdmin对象时没有属性'_meta'错误 [英] has no attribute '_meta' error when creating a ModelAdmin object

查看:232
本文介绍了创建ModelAdmin对象时没有属性'_meta'错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Django的新手,我试图为我的模型自定义Admin接口,但是在尝试添加ModelAdmin对象时出现错误。我的代码和错误包含在下面。如果我从register语句中删除BlogAdmin对象,则不会出现任何错误,并且站点可以正常加载。

I am new to Django and I was trying to customize the Admin interface for my model but I get an error when trying to add a ModelAdmin object. My code and error is included below. If i take out the BlogAdmin object from the register statement, I don't get any errors and the site loads fine.

感谢您的帮助!

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'

type object 'BlogAdmin' has no attribute '_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']


推荐答案

写时:

admin.site.register([Blog, BlogAdmin])

您在管理员中注册了两种模式:博客 BlogAdmin ,您必须为其注册 Model ModelAdmin ,例如:

you register in admin two models: Blog and BlogAdmin, you must register Model and ModelAdmin for it, like this:

admin.site.register(Blog, BlogAdmin) 

这篇关于创建ModelAdmin对象时没有属性'_meta'错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆