Я пытаюсь сделать регистрацию в своей работе с флешкой. Я уже создал две роли («admin» и «user») и один администратор (я) без каких-либо проблем. Однако, когда я пытаюсь зарегистрировать новый пользователь через страницу регистрации, я получаю следующее сообщение об ошибке:Flask-security: обработка регистрации делает user.role_id не может быть ошибкой NULL
user.role_id may not be NULL
модели (стандарт QuickStart): класса Роли (db.Model, RoleMixin): имени = CharField (уникальный = True) описание = TextField (нуль = True)
class User(db.Model, UserMixin):
email = TextField()
password = TextField()
active = BooleanField(default=True)
confirmed_at = DateTimeField(null=True)
class UserRoles(db.Model):
# Because peewee does not come with built-in many-to-many
# relationships, we need this intermediary class to link
# user to roles.
user = ForeignKeyField(User, related_name='roles')
role = ForeignKeyField(Role, related_name='users')
name = property(lambda self: self.role.name)
description = property(lambda self: self.role.description)
Я действительно не понимаю, где это происходит из. Во-первых, вам не нужно назначать роль новому пользователю, а во-вторых, поскольку «роль» является внешним ключом, правильным способом получить идентификатор роли пользователя будет user.role.id
вместо user.role_id
.