В модели отсутствуют все поля в Django Admin

У меня есть модель с кучей полей, и после развертывания в рабочей среде администратор django не показывает полей для этой конкретной модели, как и вообще.

Я вижу верхний заголовок «Изменить MODELNAME» и нижнюю панель инструментов с кнопками сохранения. Но когда я нажимаю «Сохранить», я получаю ошибку проверки, но полей все еще нет.

Я не получаю ошибок, это просто не отображается.

Проблема возникла после изменения чего-то несвязанного в базе данных и незначительных изменений в коде. Но из того, что я вижу, ничего связанного с администратором.

Также самая странная часть, это работает при локальном запуске с использованием локальной базы данных (используя postgres как в рабочей среде, так и в среде разработки).

Джанго версии 1.11.6

введите здесь описание изображения

РЕДАКТИРОВАТЬ:

Кажется, было зарегистрировано «предупреждение», и я получаю электронные письма только об ошибках.... Нашел это в файле журнала.

django.template: Exception raised while rendering {% include %} for template 'admin/change_form.html'

person Moulde    schedule 07.03.2018    source источник
comment
Я получаю электронные письма обо всех ошибках в django, и я не получил ни одной электронной почты, т.е. никаких ошибок. Но я только что нашел предупреждение в журнале django, говорящее django.template: Исключение возникло при рендеринге {% include %} для шаблона 'admin/change_form.html'. Так что мне все-таки есть с чем работать :) Интересно, почему это предупреждение, а не ошибка!?   -  person Moulde    schedule 07.03.2018


Ответы (1)


Решил проблему.

У меня была модель B (которая была связана с моей моделью устройства), где метод unicode случайно ничего не вернул, т.е. None, и форма администратора django не удалась, когда она попыталась отобразить строковое представление модели внутри раскрывающегося списка на модели устройства - что приводит к сбою всей формы при рендеринге.

Это действительно должно быть ошибкой, а не предупреждением IMO, поскольку рендеринг не должен просто использовать пустую строку в качестве запасного варианта, когда это происходит.

person Moulde    schedule 07.03.2018