Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask SQLAlchemy unique关键字未反映在sqlite数据库中_Python_Sqlite_Flask_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

Python Flask SQLAlchemy unique关键字未反映在sqlite数据库中

Python Flask SQLAlchemy unique关键字未反映在sqlite数据库中,python,sqlite,flask,sqlalchemy,flask-sqlalchemy,Python,Sqlite,Flask,Sqlalchemy,Flask Sqlalchemy,我使用Flask SQLAlchemy创建了此模型,并将其用于sqlite: app=烧瓶(名称) app.config[“SQLALCHEMY_数据库_URI”]=”sqlite:///database.db" db=SQLAlchemy(应用程序) 类UserModel(db.Model): __tablename_=“用户” id=db.Column(db.Integer,主键=True) email=db.Column(db.String,null=False) username=db

我使用Flask SQLAlchemy创建了此模型,并将其用于sqlite:


app=烧瓶(名称)
app.config[“SQLALCHEMY_数据库_URI”]=”sqlite:///database.db"
db=SQLAlchemy(应用程序)
类UserModel(db.Model):
__tablename_=“用户”
id=db.Column(db.Integer,主键=True)
email=db.Column(db.String,null=False)
username=db.Column(db.String,nullable=False,unique=True)
password=db.Column(db.String,nullable=False)
public_id=db.Column(db.String,nullable=False,default=str(uuid.uuid4()).replace(“-”,”))
db.create_all()
然而,
unique
关键字似乎不起作用,我用这段代码创建了多个全新的数据库,而且数据库似乎没有注册用户名必须是唯一的。我是不是错过了什么?

这对我很有用

sqlite3 database.db
SQLite version 3.28.0 2019-04-15 14:49:49
Enter ".help" for usage hints.
sqlite> INSERT INTO users (id, email, username, password, public_id) VALUES (1, 'a@a.com', 'a@a.com', 'a@a.com', '1');
INSERT INTO users (id, email, username, password, public_id) VALUES (1, 'a@a.com', 'a@a.com', 'a@a.com', '1');
sqlite> INSERT INTO users (id, email, username, password, public_id) VALUES (1, 'a@a.com', 'a@a.com', 'a@a.com', '1');
Error: UNIQUE constraint failed: users.id
sqlite> INSERT INTO users (id, email, username, password, public_id) VALUES (2, 'a@a.com', 'a@a.com', 'a@a.com', '1');
Error: UNIQUE constraint failed: users.username
我试过烧瓶1.1.2和2.4.4