获取模型的ModelAdmin“ list_display”字段

时间:2020-05-25 19:02:38

标签: django django-models django-admin

考虑一个名为Person的模型,该模型具有四个字段:

  • f_name
  • l_name
  • dob
  • something_else

我在管理网站上注册了该模型。在ModelAdmin类中,我指定了list_display`字段,如下所示:

list_display = ["f_name", "l_name", "something_else"]

view.py文件中,我使用了apps.get_model()中的django.apps函数调用了模型对象。现在有了这个模型对象,我想通过这个模型对象检索list_display字段。我该怎么做?

感谢您阅读这个可怕的问题以及您的宝贵时间,我非常感谢您的帮助。

编辑:我也想知道如何根据查询集的list_display字段将数据存储在列表中。例如:

represented_data = [['John', "Snow", "He died"], ["Arya", "Not Snow", "Killed the king"]]

1 个答案:

答案 0 :(得分:1)

这是一个从模型获取ModelAdmin的示例

from django.contrib import admin
...

YourModel = apps.get_model('your_app_name','your_model')
your_list_display = admin.site._registry[YourModel].list_display
...

并且,要获取列表列表中的数据,可以使用下一个代码:

represented_data = list(YourModel.objects.values_list(*your_list_display))