为了账号安全,请及时绑定邮箱和手机立即绑定

Django:无法在管理面板中注册模型

Django:无法在管理面板中注册模型

qq_笑_17 2021-09-11 10:22:32
我的应用程序中有各种模型。但是,有一个我无法注册,所以我可以在admin panel.所以在我的cart应用程序admin.py文件中,我可以使用:from django.contrib import adminfrom .models import Cart, CartItem# Register your models here.admin.site.register(Cart)但不是:from django.contrib import adminfrom .models import Cart, CartItem# Register your models here.admin.site.register(Cart, CartItem)因为我收到此错误: File "/home/ogonzales/Escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages/django/contrib/admin/checks.py", line 26, in check_admin_app    errors.extend(site.check(app_configs))  File "/home/ogonzales/Escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages/django/contrib/admin/sites.py", line 81, in check    if modeladmin.model._meta.app_config in app_configs:AttributeError: 'CartItem' object has no attribute 'model'购物车/models.py:from django.db import modelsfrom shop.models import Product# Create your models here.class Cart(models.Model):    cart_id = models.CharField(max_length=250, blank=True)    date_added = models.DateField(auto_now_add=True)    class Meta:        db_table = 'Cart'        ordering = ['date_added']    def __str__(self):        return self.cart_idclass CartItem(models.Model):    product = models.ForeignKey(Product, on_delete=models.CASCADE)    cart = models.ForeignKey(Cart, on_delete=models.CASCADE)    quantity = models.IntegerField()    active = models.BooleanField(default=True)    class Meta:        db_table = 'CartItem'    def sub_total(self):        return self.product.price * self.quantity    def __str__(self):        return self.product
查看完整描述

3 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

您必须为两种模型调用 admin.site.register 两次:


admin.site.register(Cart)

admin.site.register(CartItem)


查看完整回答
反对 回复 2021-09-11
?
慕慕森

TA贡献1856条经验 获得超17个赞

或者你可以这样做:

admin.site.register([Cart, CartItem])


查看完整回答
反对 回复 2021-09-11
  • 3 回答
  • 0 关注
  • 263 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信