AttributeError:类型对象“ Product”没有属性“ _meta” [英] AttributeError: type object 'Product' has no attribute '_meta'

查看:78
本文介绍了AttributeError:类型对象“ Product”没有属性“ _meta”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Python / Django的新手,所以请忍受..我无法运行任何命令,并且终端每次都会产生相同的错误。

I am pretty new in Python / Django so please bear .. I am unable to run any commands and the terminal produces the same error every time.

我的模型看起来像这样:

My Model looks like this:

from django.db import models

# Create your models here.
class Product(models.Model):
    item_name = models.CharField(max_length=100)
    item_price = models.IntegerField()
    item_image = models.ImageField()

    class Meta:
        ordering = ['item_name']

Admin .py

Admin.py

from django.contrib import admin

# Register your models here.
from .models import Product

class Product(admin.ModelAdmin):
    pass

admin.register(Product)(admin.ModelAdmin)

跟踪:-

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/apps.py", line 22, in ready
    self.module.autodiscover()
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/__init__.py", line 24, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "/usr/local/lib/python2.7/dist-packages/django/utils/module_loading.py", line 74, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/yogesh/ShoppingSite/portal/admin.py", line 11, in <module>
    admin.register(Product)(admin.ModelAdmin)
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/decorators.py", line 25, in _model_admin_wrapper
    admin_site.register(models, admin_class=admin_class)
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py", line 85, in register
    if model._meta.abstract:
AttributeError: type object 'Product has no attribute '_meta'


推荐答案

从回溯来看,问题似乎出在您的 admin.py 上。如果您使用的是 admin .register 装饰器,请确保您正确使用它:

It seems from the traceback that the problem is coming from your admin.py. If you are using the admin.register decorator make sure you are using it right:

@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    pass

或,则可以使用 admin.site.register 函数:

class ProductAdmin(admin.ModelAdmin):
    pass

admin.site.register(Product, ProductAdmin)

这篇关于AttributeError:类型对象“ Product”没有属性“ _meta”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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