首页 > 解决方案 > 获取模型的 ModelAdmin "list_display" 字段

问题描述

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

我在管理网站上注册了这个模型。在 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"]]

标签: djangodjango-modelsdjango-admin

解决方案


这是从 Model 获取 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))

推荐阅读