【问题标题】:I want to display another model in the home admin site page django我想在主页管理站点页面 django 中显示另一个模型
【发布时间】:2021-07-04 21:14:19
【问题描述】:

在管理站点中我显示自定义用户,我的意思是在我写的 admin.py 中

from .models import User, Product, Address
from django.contrib import admin
from .forms import CustomUserCreationForm
from django.contrib.auth.admin import UserAdmin

class CustomUserAdmin(UserAdmin):
    model = User
    add_form = CustomUserCreationForm
    fieldsets =  (
        *UserAdmin.fieldsets,
        (
            'Additional fields:',
            {
                'fields': (
                    'phone_number',
                    'billing_address',
                    'shipping_address',
                )
            }
        )
    )

admin.site.register(User, CustomUserAdmin)

User 是我从 AbstractUser 继承的模型,我也想显示另一个模型,称为 Product。怎么做? 这是第二个模型

class Product(models.Model):
    name = models.CharField(max_length=50)
    SKU = models.CharField(max_length=50)
    description = models.CharField(max_length=300)
    price =MoneyField(max_digits=19,decimal_places=4,default_currency='USD')

class ProductImage(models.Model):
    product = models.ForeignKey(Product, related_name='images', 
                                 on_delete=models.RESTRICT,null=True)
    image = models.ImageField()

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    你到底在纠结什么?它在the basic tutorial 中进行了介绍,并且您已经对用户进行了更复杂的设置。

    from django.contrib import admin
    from .models import Product
    
    admin.site.register(Product)
    

    【讨论】:

    • 我知道,但我需要创建一个自定义用户,所以当我按照你说的那样做时,用户并没有在管理站点页面中只显示产品。有没有办法处理自定义用户与产品一起显示?
    • 正如我在文档中所读到的,如果它是 AbstractUser 那么要在管理员中查看模型,我们使用 admin.site.register(User, UserAdmin) 所以我不能在产品之后注册?跨度>
    • 好吧,我刚刚开始学习 django,所以这对我来说是全新的。我不知道我应该用产品创建另一个应用程序以便我可以注册它,所以这似乎是我所缺少的。
    • 您不需要其他应用程序。只需在admin.site.register(User, CustomUserAdmin) 下添加admin.site.register(Product)。如果有帮助,请接受答案
    • 每个admin.site.register 只是将另一个模型添加到管理面板,您可以为每个模型执行此操作,而不会出现问题@MennaT-AllahMagdy
    猜你喜欢
    • 1970-01-01
    • 2020-09-30
    • 2018-11-13
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2011-08-10
    相关资源
    最近更新 更多