Flask-UserでUser
を作成していますが、User
が作成されたときに特定のフィールドをプログラムで決定したいと考えています。つまり、User
にUUID4を割り当てたいとします。Flask-Userでデータベースにコミットする前にユーザーをプログラムで処理する方法はありますか?
:私はどこ私ができる場所を見つけることができないように見えるしかし
class User(db.Model, UserMixin):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
...
public_uuid = db.Column(db.String(32), nullable=False, unique=True)
...
:私は私のmodels.py
に必要なフィールドを定義したFlask-User-starter-app
ユーザーオブジェクトをインターセプトし、(私は動作しませんので、予め考え出しが)私は自分の形でそれを宣言しようとしましたuser.public_uuid = uuid.uuid4().hex
設定:class MyRegisterForm(RegisterForm): public_uuid = uuid.uuid4().hex
したがって、データベースに書き込むときにpublic_uuidがNull
であるというエラーが発生します。
ユーザオブジェクトをDBにコミットする前に、そのユーザオブジェクトをどこで処理できますか?
これですべてが明らかになったようです。私は 'default'で遊んでいましたが、' uuid.uuid4().hex 'を直接渡していたので、インスタンス化時に1つのuuidが作成されていました。しかし、この方法は理にかなっています。ありがとう! – pyskell