2025年django项目中xadmin详细使用教程

django项目中xadmin详细使用教程一 注意 开始先在应用下面创建一个 adminx py 文件 名称必须是 adminx py 然后在该文件中做以下操作 切记不能再 admin py 文件中做下面的操作 1 导入 xadmin 及需要注册的模型类 import xadmin from models import Students Class Subjects 2 自定义模型管理类 继承自 object 基类

大家好,我是讯享网,很高兴认识大家。

一:

注意:开始先在应用下面创建一个adminx.py文件,名称必须是adminx.py,然后在该文件中做以下操作,切记不能再admin.py文件中做下面的操作

1. 导入xadmin及需要注册的模型类

import xadmin from .models import Students, Class, Subjects

讯享网

2. 自定义模型管理类,继承自object基类,(admin中继承是:admin.ModelAdmin)

讯享网# 自定义模型管理类 class StudentsAdmin(object): list_display = ("name", "sex", "age", "address")

3. 注册模型类

# 注册模型类 xadmin.site.register(Students, StudentsAdmin)

4. 内联复选框的用法

当一个学生对应多门课程的时候,就需要在学生类里面定义一个多对多的关联属性 models.ManyToManyField

然后需要在admin.py中的学生管理类中增加如下属性:


讯享网

讯享网# 设置模型类字段以多选框的方式呈现并选择 style_fields = {'subjects': 'checkbox-inline', } # 此处的subjects是模型类中的关系属性名

同时需要为模型类中的关系属性增加一个参数:

subjects = models.ManyToManyField("Subjects", verbose_name="选修课程", blank=True) # 新增的参数是:blank=True,如果不增加此参数,那么多选框必须全选才行

5. 设置搜索条件,在模型管理类中增加如下属性

讯享网 # 设置搜索条件 search_fields = ["name"]

5.1要是我们想通过班级或者学科来查找这个班级或者选修这门学科的所有学生

也就是说在多的表中想通过外键搜索或过滤数据,只需要使用 "关系属性名__对应的字段名" 即可实现过滤和搜索,注意事双下划线

search_fields = ('name', 'class_name', 'subjects',)这样定义程序就会报错,因为因为这是Students学生表中的关系属性,并不是字段名,正确的写法是: 
讯享网 # 设置搜索条件,如果是关系属性,需要写成:关系属性名__对应的字段名 search_fields = ["name", "class_name__class_name", "subjects__name"]

6. 过滤

# 过滤 list_filter = ["sex"]

7. 排序

小讯
上一篇 2025-04-07 16:40
下一篇 2025-03-27 14:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/117885.html