我正在使用Flask创建一个动态网站.我可以为模型的id字段设置一个默认值,以便使用uuid值自动填充它吗?
class User(db.Model, UserMixin):
id = db.Column(db.String(36), primary_key=True)
email = db.Column(db.String(150), unique=True, nullable=False)
password = db.Column(db.String(255), nullable=False)
first_name = db.Column(db.String(150), nullable=False)
last_name = db.Column(db.String(150), nullable=False)
image_file = db.Column(db.String(60), nullable=False, default='default.jpg')
created_at = db.Column(db.DateTime(timezone=True), server_default=func.now(), nullable=False)
updated_at = db.Column(db.DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False)
上面给出的是我的用户模型,我将id字段设置为字符串字段,而不是默认的整数字段.我可以在这个id字段中添加一个uuid值作为默认值吗?
我try 给id字段的server_default arg作为uuuid4值.
id = db.Column(db.String(36), primary_key=True, server_default=str(uuid.uuid4()))
但是上面的代码为整个列设置了一个uuid值.MySQL数据库中id字段的属性显示以下值:
# Field, Type, Null, Key, Default, Extra
'id', 'varchar(36)', 'NO', 'PRI', 'e3c56759-cc55-46f8-b6d1-d54bd267cf4b', ''