将数据表注册到admin后台显示

1.创建model文件,通过继承models.Model类定义产品信息

from django.db import models
from django.utils.html import format_html
# Create your models here.
# 创建产品分类表
class Type(models.Model):
    # 定义名称为id的整型主键
    id = models.AutoField(primary_key=True)
    # 定义表最大长度
    type_name = models.CharField(max_length=20)
    # 设置返回值,若不设置,则默认返回Type对象
    def __str__(self):
        return self.type_name
# 创建产品信息表
# 设置字段中文名,用于Admin后台显示
class Product(models.Model):
    id = models.AutoField('序号',primary_key=True)
    name = models.CharField('名称',max_length=50)
    weight = models.CharField('重量',max_length=20)
    size = models.CharField('尺寸',max_length=20)
    type = models.ForeignKey(Type, on_delete=models.CASCADE,verbose_name='产品类型')

2.创建admin文件,方法一将模型直接注册到admin后台

from django.contrib import admin
from .models import *
# Register your models here.

# 方法一
# 将模型直接注册到admin后台
# admin.site.register(Product)
admin.site.register(Type)

3.方法二,自定类并继承modeladmin

from django.contrib import admin
from .models import *

# 注册方法一,使用Python装饰器将ProductAdmin和模型Product绑定并注册到后台
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    # 设置模型字段,用于Admin后台数据的表头设置
    list_display = ['id','name','weight','size','type']

# 注册方法二
# admin.site.register(Product,ProductAdmin)

 

posted @ 2020-04-02 18:16  袁麻麻  阅读(318)  评论(0)    收藏  举报