exclude办公技巧(第32章 Django的ModelAdmin)
- 办公技巧
- 2023-08-12 16:29:47
- 0
在admin.py下,有个叫ModelAdmin的家伙是专门为Model进行量身打造的武器。在base/admin.py里添加PostAdmin。
from django.contrib import adminfrom .models import Post @admin.register(Post)class PostAdmin(admin.ModelAdmin): # 信息列表里显示的内容 list_display = ('name', 'createDate', 'color_state') # 添加或修改里显示的内容项 fields = ('name',)
注册Model到ModelAdmin中的方法有两种,一种是通过装饰器@admin.register(
Model名称),还有一种是用admin.site.register(Model, ModelAdmin)。
在department/admin.py里添加DepartmentAdmin,相关属性的作用都在代码注释里作了说明,走过路过,千万不要错过。
from django.contrib import adminfrom .models import Department # 全局设置空值为'--'# admin.AdminSite.empty_value_display = '--' @admin.register(Department)class DepartmentAdmin(admin.ModelAdmin): # 信息列表里显示的内容,默认第1个加链接list_display = ('name', 'leader', 'phone', 'region', 'address', 'createDate', 'show_opt') # 值为空时,设置为指定值 empty_value_display = '--' # 设置需要添加标签的字段 list_display_links = ('name', 'show_opt',) # 每页显示的数据数量,默认是100 list_per_page = 5 # 指定排序字段,加"-"降序,否则升序 ordering = ('-createDate',) # 是否在【执行】按钮右边显示选择对象的说明,默认为True actions_selection_counter = True # -------添加或修改里不显示exclude指的项------- exclude = ['createDate']# 与 exclude相对,内部()选定的字段在同一行显示# 默认情况下,系统会为你的模型动态的创建ModelForm,可定义# form = DepartmentModelForm # fields = ('name', ('leader', 'phone'), 'region') # 将字段进行分块布局 fieldsets = ( (None, { 'fields': ('name', 'leader', 'phone', 'region') }), ('办公地址', { 'classes': ('collapse',), 'description': '还未确定办公地址时可以不填写', 'fields': ('address', 'longitude', 'latitude') }), ) # 单选按钮字段 radio_fields = {} # 设置只读字段 readonly_fields = () # 自定义字段 def show_opt(self, obj): print('默认字段内容:', obj) return None # return '编辑' # 自定义字段说明 show_opt.short_description = '操作' # 返回空值时,用"编辑"替换 show_opt.empty_value_display = '编辑'
单表介绍完,多表关系还会远么?
本文由 京廊文化根据互联网搜索查询后整理发布,旨在分享有价值的内容,本站为非营利性网站,不参与任何商业性质行为,文章如有侵权请联系删除,部分文章如未署名作者来源请联系我们及时备注,感谢您的支持。
本文链接: /bangong/13733.html