django admin 或xdmin list_display search_fields list_filter 如果显示搜索外键或多对多字段

model

复制代码
class UserProfile(AbstractUser):

    nick_name = models.CharField(max_length=50, verbose_name=u"昵称", default="")
    gender = models.CharField(max_length=6, choices=(("male",u""),("female","")), default="female")
    address = models.CharField(max_length=100, default=u"")
    mobile = models.CharField(max_length=11, null=True, blank=True)
    add_time = models.DateTimeField(auto_now=True)


    class Meta:
        verbose_name = "用户信息"
        verbose_name_plural = verbose_name
复制代码

 

复制代码
class Project(models.Model):
    project_name = models.CharField(max_length=200, verbose_name="项目名称", default="")
    project_number = models.CharField(max_length=200,verbose_name="项目编号", default="")
    project_user = models.ForeignKey(UserProfile,verbose_name='项目负责人')
    add_time = models.DateTimeField(auto_now=True)

    class Meta:
        verbose_name = "项目信息"
        verbose_name_plural = verbose_name


class Center(models.Model):
    center_name = models.CharField(max_length=200, verbose_name="中心名称", default="")
    center_number = models.CharField(max_length=200,verbose_name="中心编号", default="")
    center_user = models.ManyToManyField(UserProfile, verbose_name='中心负责人')
    add_time = models.DateTimeField(auto_now=True)

    class Meta:
        verbose_name = "中心信息"
        verbose_name_plural = verbose_name
复制代码

 

admin或xadmin的展示

复制代码
class CenterAdmin(object):
    """
    中心列表
    """

    list_display = ['id','center_name','center_number','center_user']  #后台自定义显示列

    search_fields = ['id','center_name','center_number','center_user__username'] #定义后台搜索 外键或多对多加__双下划线对应的字段名

    list_filter = ['id','center_name','center_number','center_user__username'] #通过时间搜索外键或多对多加__双下划线对应的字段名


class PatientAdmin(object):
    """
    患者列表
    """

    list_display = ['id','patient_number','patient_user']  #后台自定义显示列

    search_fields = ['id','patient_number','patient_user__username'] #定义后台搜索 外键或多对多加__双下划线对应的字段名索

    list_filter = ['id','patient_number','patient_user__username'] #通过时间搜索外键或多对多加__双下划线对应的字段名
复制代码

 

posted on   星河赵  阅读(826)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2017-02-23 解决Django中在.js文件中用ajax请求后端,找不到CSRF问题

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示