标签:额外 one lan admin 存在 解决 strong 删除 ack
字段/选项 | 说明 |
---|---|
AutoField | 自动增长,主键列就是自动增长得 |
TextField | 大文本字段,比CharField(max_length=num)装文字多 |
DateField,TimeField,DateTimeFeild | 前两者为年月日,后一折精确到时分秒,参数有auto_now,auto_now_add,两者相互排斥 |
DecimalField,FolatField | 前者十进制浮点数,参数有max_digits=最大位数,decimal_places=小数位数,后者为浮点数 |
FileField,ImageField | 后者继承前者,对上传文件进行效验 |
default,primary_key,unique | 设置默认值,主键和唯一值 |
db_index,db_column | 创建索引和设置列名 |
null,blank | 是否允许空,与数据无关。表单验证允许空值,可在后台使用 |
admin.py文件中
from ...models import OneClass, MoreClass
# 在一对多中,在一端,编辑多端的内容
class MoreClass(多类名)StackedInline(admin.StackedInline(块的方式显示多个外键)/admin.TabularInline(表的方式)):
models = MoreClass(多类名)
extra = 2 #额外显示的空
class OneClassAdmin(一类名)(admin.ModelAdmin):
list_display = ["name", "gender"] # 进入数据表中要显示的列
# 可以搭配在model方法中写gender方法根据布尔值显示男或女,模型类最好要重写__str__方法,这样在后台管理的页面才不会显示object1,object2
def gender(不要和上面变量重名)(self):
if self.sex:
return "男"
else:
return "女"
# 这样的gender在list_display中是不能排序的,要想排序需要指定:
属性名.admin_order_field = '模型类中的字段名'
属性名.short_description = '别名' #标题栏上显示的名字
#也可以在模型类中字段后加(varbose_name = "别名")
list_filter = ['name'] #右边显示根据name列筛选
search_fields = ['name'] #上方显示依据name的搜索框
list_per_page = num #定制每页显示多少个
actions_on_bottom/top = True #底部/顶部显示操作栏
#fields = ['name', 'gender'] #详情页中需要显示的内容
fieldsets = [('basic', {'fields': ['name']}),('more', {'fields': ['gender']})]
# 关联显示
inlines = [MoreClassTabularInline]
admin.site.register(OneClass, OneClassAdmin) #注册模型类
标签:额外 one lan admin 存在 解决 strong 删除 ack
原文地址:https://www.cnblogs.com/dabenniao/p/11667368.html