Я хочу создать метод semi to values в Django QuerySet.
Проблемы метода значений:
- Пропустите порядок полей в querySet, если я сделаю myquery = MyModel.objects.values('field1','field2','field3'), когда я напечатаю querSet, дайте мне [{'field2 ':'данные','поле1':'данные','поле3':'данные'},...]. поэтому этот порядок промахов вызовет проблему в Union набора запросов.
- если поле есть выбор в модели, тогда values(...) даст мне ключ словаря вместо его значения.
Я хочу создать собственный метод значений с помощью django Manager
class MyModelManager(models.Manager): def values(self, *fields): # I want to get model belong to this manger # then I want to check the fields if its in models (we have fields came from annotate) # after that I want to exclude to the fields that has choices # next I want to call the super values method and passed to it the values that does not have choices # finally I want to reorder query according to passed fields class MyModel(models.model): # An example model objects = MyModelManager()
named=True
и использоватьvalues_list
вместоvalues
сqueryset
. Он вернетnamedtuple
, что может удовлетворить ваш вариант использования. Ссылка: docs.djangoproject.com/en/dev/ref /models/querysets/#values-list - person Abhyudai   schedule 23.01.2021Union
? - person Iain Shelvington   schedule 24.01.2021get_<field_name>_display
, который Django делает для каждого поля с вариантами выбора? - person Abdul Aziz Barkat   schedule 24.01.2021