У меня есть полностью работающее приложение Flask-Admin, в котором используется Flask-Login. В ряде мест в моем коде ModelView я использую current_user
, и это всегда работало. Например, у меня есть
def on_model_change(self, form, model, is_created):
model.last_modified_by = current_user.get_id()
Сейчас я пытаюсь отключить редактирование поля в зависимости от уровня доступа, и после того, как я объявил form_args
, я добавил:
if current_user.access_level == 'USER':
form_widget_args = {'salary': {'disabled': True}}
Это вызывает ошибку AttributeError: 'NoneType' object has no attribute 'access_level'
. Однако без этого кода я сразу перехожу к показанному выше on_model_change
, и это успешно устанавливает значение last_modified_by
.
Что могло происходить?