我正在阅读Miguel的精彩烧瓶网络开发书。我对模型有疑问。
这是我的用户模型
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
def __repr__(self):
return '<User %r>' % self.username
在模型中,它提到了&#39;用户名&#39;字段是唯一的,这意味着此列应具有唯一值。
然而,我在User模型中的条目具有相同的值。
以下是shell会话的片段。
for user in User.query.all():
print user.username
输出:
None
None
None
None
None
None
None
None
None
None
None
None
我想知道为什么允许多次创建username=None
条目?
由于
答案 0 :(得分:3)
您必须在nullable=False
列声明中添加条款username
:
username = db.Column(db.String(64), unique=True, index=True, nullable=False)
DB不会将None
作为值。