#python #django
Есть модуль UserTask в которой есть очень тяжелые поля и они тормозят запрос, как можно убрать их из запроса для Django Admin. Они не выводятся на страницу, но Django использует примерно такой запрос: SELECT * FROM UserTask; А нужно: SELECT id, name, is_user FROM UserTask; P.S. Нужно убрать их именно в админке, вот регистрация модели: class UserTaskAdmin(admin.ModelAdmin): list_filter = ('id', 'name') list_display = ('id', 'name') admin.site.register(UserTask, UserTaskAdmin) кривой перевод на английский
Ответы
Ответ 1
Вы можете переопределить get_queryset() и использовать only() метод: class UserTaskAdmin(admin.ModelAdmin): list_filter = ('id', 'name') list_display = ('id', 'name') def get_queryset(self, request): return self.model.objects.only('id', 'name') Немного изменил оригинал, там использовался UserTask.objects.only('id', 'name'), за места self.model.objects.only('id', 'name'), что ограничивало повторное использования кода с другими моделями. Оригинал от @neverwalkaloner.
Комментариев нет:
Отправить комментарий