У меня есть приложение Flask, которое использует Flask-admin для управления приборной панелью и необработанной моделью.В приложении есть класс User
для пользователей, которые заходят на сайт, и класс Contact
для контактов, вводимых каждым пользователем.
Я хочу, чтобы каждая строка на вкладке "Контакты" в Flask-admin отображалаадрес электронной почты пользователя, который ввел его.Я настроил код следующим образом:
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
contacts = db.relationship('Contact', backref='user')
# [...]
def __repr__(self):
return f'{self.email}'
class Contact(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
# [...]
Столбец Пользователь не отображается с этой настройкой.Я не исключаю его, используя column_exclude_list
.Я попытался использовать column_list
, чтобы явно показать столбец 'user', и чтобы DID показывал столбец, но он был пустым.(В конечном счете, я буду использовать это, но сейчас я отключил его, чтобы упростить вещи.)
Помимо реализации __repr__()
и включения отношения с обратным ссылком, связывающим два объекта модели, что мне нужносделать, чтобы этот столбец появился?Как я могу отладить, почему он не отображается?
В какой-то момент я заметил, что у меня было объявлено второе отношение с обратным ссылочным номером, также называемым 'user'
в классе Export.Export.user работал!Когда я впервые заметил это, я отключил второе отношение, но это не исправило отношение Contact.user.