如何在Django Admin中创建新页面?

问题描述

我正在尝试自定义Django管理面板,我的网站上有一些客户注册,如果我单击customer name,则它将打开客户详细信息,并在单击后显示编辑选项。但是我想要这样的事情,如果管理员点击客户名称,那么应该打开一个查看页面管理员只能看到客户名称,电子邮件,地址,城市(所有信息都在一行中,并且数据库中的表是不同的) 。但是我不希望在read only fields中获得此信息,我想创建一个单独的页面

这是我的models.py文件...

class Customer(models.Model):
    name=models.CharField(max_length=50,default=None)
    email=models.EmailField(max_length=50,default=None)
    mobile=models.IntegerField(default=None,unique=True,validators=[MaxValueValidator(9999999999)])

    def __str__(self):
        return self.name

class CustomerProfile(models.Model):
    GENDER=(
    ('M-Male','M-Male'),('F-Female','F-Female'),)
    customer=models.OnetoOneField(Customer,default=None,related_name='customer_pro',on_delete=models.CASCADE)
    dob=models.DateField()
    gender=models.CharField(default=None,choices=GENDER,max_length=50)
    relation=models.CharField(default=None,choices=(('S/o','S/0'),('D/o','D/0'),('W/o','W/0')),max_length=50)
    relative=models.CharField(max_length=50,default=None)
    address=models.CharField(max_length=100,default=None)
    city=models.ForeignKey(City,on_delete=models.CASCADE,null=True,default=None)
    zip=models.IntegerField(default=None)

    def __str__(self):
        return self.relative

这是我的admin.py文件...

class CustomerProfileAdmin(admin.TabularInline):
    readonly_fields = ['dob','gender','zip','city','address']
    model=CustomerProfile
    extra=1

class CustomerAdmin(admin.ModelAdmin):
    list_display=['name','email','marknumber']
    readonly_fields = ['email','mobile']
    inlines = [CustomerProfileAdmin,]

admin.site.register(Customer,CustomerAdmin)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)