Получить поля ModelAdmin "list_display" модели - PullRequest
0 голосов
/ 25 мая 2020

Рассмотрим модель под названием 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 через этот объект модели. Как я могу это сделать?

Спасибо, что прочитали этот ужасно заданный вопрос, и ваше время, я очень ценю любую помощь.

EDIT: Я также хотел бы знаю, как я храню данные в списке в соответствии с полями list_display из набора запросов. Например:

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

1 Ответ

1 голос
/ 25 мая 2020

Это пример получения 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))
...