在 save/creation 的 SQL Alchemy 中为 Column 赋值
Assign value to Column in an SQL Alchemy upon its save/creation
我的数据库中有一个 class user
,我想在每次创建新用户时分配 avatar_file_name
一个随机值,本质上是“保存”。我怎样才能做到这一点?
将从
中随机选择的数据数组
avatarImages = [
"blue-dino_128.png",
"brown-dino_128.png",
"green-dino_128.png",
"orange-dino_128.png",
"pink-dino_128.png",
"purple-dino_128.png",
]
这是 class,默认情况下它会从数组中选择一个随机字符串名称,但我认为有更好的方法来完成此操作。
class User(Base):
__tablename__ = "user"
id = Column(Integer, primary_key=True)
first_name = Column(String(50), nullable=False)
last_name = Column(String(50), nullable=True)
avatar_file_name = Column(String(100), nullable=True, default=random.choice(avatarImages)
default=random.choice(avatarImages)
只执行一次,因此将为每个用户选择相同的值。要为每个用户随机选择,请在 lambda
:
中调用 random.choice
default=lambda: random.choice(avatarImages)
我的数据库中有一个 class user
,我想在每次创建新用户时分配 avatar_file_name
一个随机值,本质上是“保存”。我怎样才能做到这一点?
将从
中随机选择的数据数组avatarImages = [
"blue-dino_128.png",
"brown-dino_128.png",
"green-dino_128.png",
"orange-dino_128.png",
"pink-dino_128.png",
"purple-dino_128.png",
]
这是 class,默认情况下它会从数组中选择一个随机字符串名称,但我认为有更好的方法来完成此操作。
class User(Base):
__tablename__ = "user"
id = Column(Integer, primary_key=True)
first_name = Column(String(50), nullable=False)
last_name = Column(String(50), nullable=True)
avatar_file_name = Column(String(100), nullable=True, default=random.choice(avatarImages)
default=random.choice(avatarImages)
只执行一次,因此将为每个用户选择相同的值。要为每个用户随机选择,请在 lambda
:
random.choice
default=lambda: random.choice(avatarImages)