Django的管理页面怎么显示和过滤另外一个表的字段,非外键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的管理页面怎么显示和过滤另外一个表的字段,非外键相关的知识,希望对你有一定的参考价值。

参考技术A 一个表的外键关联到主表的主键约束或者unique约束都可以,不一定非要主键约束本回答被提问者采纳

Django Admin后台管理

1.使用

(1)本地化,语言和时区本地化

技术分享图片

(2)创建超级管理员

技术分享图片

(3)注册模型类:定义显示的内容

(a)models.py定义
技术分享图片

(b)效果

技术分享图片

(c)admin.py注册

技术分享图片

(4)自定义管理页面:显示方式,固件

(a)自定义模型管理类

技术分享图片

效果:

技术分享图片

(b)注册模型类的时候给register函数添加第二个参数,就是自定义模型管理类的名字

返回表的标题

技术分享图片

技术分享图片

(5)关联对象

无法直接访问关联对象的属性或方法,可以在模型类中封装方法,访问关联对象的成员。

(a)例如:显示父级地区,如果没有父级就返回空

技术分享图片

效果:

技术分享图片

(6)分组显示:fields与fieldsets只能用一个

技术分享图片

效果:

技术分享图片

(7)关联对象

在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种。类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑。子类TabularInline:以表格的形式嵌入。子类StackedInline:以块的形式嵌入

(a)StackedInline,写入models.py的AreaInfo,在管理类写入Inlines = [AreaStackedInline] #类名,extra = 2 表示额外添加两个空行

技术分享图片

效果:

技术分享图片

(8)重写模板

技术分享图片

(9)上传图片

(a)配置方式
技术分享图片

(b)后台管理页面上传图片

技术分享图片

(c)模型类属性
技术分享图片

(d)设计模型类

技术分享图片

(e)迁移模型类出错,因为已经存在id=10的表,系统不再迁移

技术分享图片

方法一:把id=10的表删除

技术分享图片

迁移后还是有错误:到0001initial.py把该类删了

技术分享图片

(f)到admin.py注册模型类

技术分享图片

(g)效果

技术分享图片

(h)用户自定义页面上传图片

技术分享图片

(I)页面

技术分享图片

(j)处理函数:小于2.5M存储在内存,大于2.5M存储在临时文件,%s表示文件名,‘wb‘文件格式,Pictest表

技术分享图片
技术分享图片

以上是关于Django的管理页面怎么显示和过滤另外一个表的字段,非外键的主要内容,如果未能解决你的问题,请参考以下文章

django 过滤器 日期格式化参数

Django Admin后台管理

在 Django/PostgreSQL 搜索结果页面上突出显示搜索词

django -静态文件能加载进入,但是在页面上却显示不出来

Django:过滤管理模板中的空模型条目

如何在 Django html 页面中显示外键数据?