假设我有以下结构(使用 Flask-SqlAlchemy):
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False, index=True)
# The following line throws an error at runtime.
variant = db.Column(db.Integer, nullable=False, index=True,
default=select(func.count(User.id)).where(User.name == self.name))
def __init__(self, name):
super(User, self).__init__()
self.name = name
@property
def clause(self):
return '/'.join([str(self.variant), self.name])
问题是“未定义用户”。我想用用户建模一个系统,这些用户可以选择相同的名称,但添加一个字段以系统方式区分用户,而不使用(从而公开)“id”字段。
任何人都知道如何进行自引用查询以填充默认值?