Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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枚举字段默认值_Python_Mysql_Flask_Flask Sqlalchemy - Fatal编程技术网

Python Flask SQLAlchemy枚举字段默认值

Python Flask SQLAlchemy枚举字段默认值,python,mysql,flask,flask-sqlalchemy,Python,Mysql,Flask,Flask Sqlalchemy,您好,我正在尝试使用flask SQLAlchmey创建表。下面是代码 class User(UserMixin, db.Model): __tablename__ = 'mailbox' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(100), index=True, nullable=False) password = db.Column(db.String(255), nullab

您好,我正在尝试使用flask SQLAlchmey创建表。下面是代码

class User(UserMixin, db.Model):

__tablename__ = 'mailbox'

id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(100), index=True, nullable=False)
password = db.Column(db.String(255), nullable=False)
name = db.Column(db.String(100), nullable=False)
maildir = db.Column(db.String(100), nullable=False)
alias = db.Column(db.Enum('N','Y'), nullable=False, default="N")
在运行db init之后,这里是mysql show create table的输出

| mailbox | CREATE TABLE `mailbox` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) NOT NULL,
  `name` varchar(100) NOT NULL,
  `maildir` varchar(100) NOT NULL,
  `alias` enum('N','Y') NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_mailbox_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

输出显示枚举的默认值不存在。请您帮助我,我需要做些什么来解决这个问题。

除了Umar Draz answer,您可以在这里找到文档:

对于枚举,必须使用括号:

server_default=("")

我也有同样的问题,我通过“服务器默认设置”解决了“默认设置”,如下所示:

alias = db.Column(db.Enum('N','Y'), nullable=False, server_default="N")

简而言之,检查一下这个,不要麻烦使用enum!不知道在上面的链接中什么是有用的表单我的需求是使用此表枚举php和python这里是正确的答案别名=db.Column(db.enum('N','Y'),nullable=False,server_default=('N'))