将列表元素从列表分配给sqlalchemy中的数据库实体
我有一个简单的模型,如下所示,我有一个游戏列表,我希望所有玩家从游戏列表中分配一个且仅一个游戏。在炼金术中我该怎么做。 到目前为止,我正在使用flask sqlalchemy,但问题不限于flask sqlalchemy将列表元素从列表分配给sqlalchemy中的数据库实体,sqlalchemy,flask-sqlalchemy,Sqlalchemy,Flask Sqlalchemy,我有一个简单的模型,如下所示,我有一个游戏列表,我希望所有玩家从游戏列表中分配一个且仅一个游戏。在炼金术中我该怎么做。 到目前为止,我正在使用flask sqlalchemy,但问题不限于flask sqlalchemy games = ['soccer', 'hockey', 'baseball', 'cricket', 'basketball'] from flask.ext.sqlalchemy import SQLAlchemy class Gamer(db.Model):
games = ['soccer', 'hockey', 'baseball', 'cricket', 'basketball']
from flask.ext.sqlalchemy import SQLAlchemy
class Gamer(db.Model):
id = db.Column(db.Integer, primary_key=True)
team_name = db.Column(db.String(80))
game_name = db.Column(db.String(80))
game = db.Column(db.String(80), i want only games from the list of games)
可以找到类似的django功能。首先,您提到的django功能与您列出的模型并不完全相似。原因是
Gamer
是模型
,而SimpleForm
是UI表单
但是,以下是验证模型的几种方法:
1) 为游戏
创建一个单独的选项卡,将值添加为行,并创建从玩家
到游戏
的N对1
关系。这是可读的,并且将在业务和数据库级别验证您的数据
class Game(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
class Gamer(db.Model):
# ...
game_id = db.Column(db.Integer, ForeignKey('game.id'))
game = relationship(Game)
2) 创建并使用
编辑-1:或者,查看。但这同样是在模型级别,而不是UI验证
from sqlalchemy.orm import validates
class Gamer(db.Model):
# ...
@validates('game')
def validate_game(self, key, address):
assert address in games
return address