【问题标题】:Django admin limit foreign key filters to entries within the tableDjango admin 将外键过滤器限制为表中的条目
【发布时间】:2017-09-11 09:15:13
【问题描述】:

我有几个模型如下。

class Department(models.Model):
        id = models.CharField(max_length=100,primary_key=true)
        name = models.CharField(max_length=100)

class User(models.Model):
    id = models.CharField(max_length=100)
    dept= models.ForeignKey(Department,on_delete=models.SET_NULL,null=True)

class UserDisplay(VersionAdmin):
    list_display = ['id','dept'] 
    list_filter=['dept']

假设我有大约 100 个部门,但只有 3 个用户。如果我在 Django 管理面板上单击 User 模型的过滤器,它会显示所有 100 个部门。如何限制过滤器仅显示此表使用的 3 个部门?

【问题讨论】:

标签: python django django-admin


【解决方案1】:

您可以为此使用RelatedOnlyFieldListFilter

class UserDisplay(dmin.ModelAdmin):
    list_display = ['id','dept'] 
    list_filter=[('dept', admin.RelatedOnlyFieldListFilter)]

查看详情here

【讨论】:

  • 谢谢你试试看。
  • 完美运行,谢谢。
猜你喜欢
  • 2010-12-01
  • 2011-01-23
  • 2015-10-10
  • 1970-01-01
  • 2012-02-08
  • 2012-04-28
  • 2021-11-01
  • 2012-06-27
  • 1970-01-01
相关资源
最近更新 更多