将列默认值设置为 NULL
Set Column default value to NULL
我有一个MySQL
table如下:
create table USER
(
USERID int not null auto_increment,
USERAVATAR varchar(1024) default NULL,
primary key (USERID)
);
我在 table 中创建了一个条目,其中 USERID = 1
和 USERAVATAR = NULL
。
在Main.py
user_list = session.query(USER).all()
return jsonify(users=[r.serialize() for r in user_list])
sqltables.py
class USER(Base):
__tablename__ = 'USER'
USERID = Column(Integer, primary_key=True)
USERAVATAR = Column(String(1024))
def serialize(self):
return unicode({
'id': self.USERID,
'userAvatar': self.USERAVATAR
})
问题是,即使 USERAVATAR
在数据库中设置为 NULL
,我得到的是 None
作为我的 `JSON 输出。
{
"users": [
"{'userAvatar': None, 'id': 1}"
]
}
有人知道这里可能有什么问题吗?
您的 serialize
函数正在转换为字符串。这就是您在 JSON 输出中想要的字符串数组而不是对象数组吗?
如果不是,请将您的 serialize
函数更改为不使用 unicode()
我有一个MySQL
table如下:
create table USER
(
USERID int not null auto_increment,
USERAVATAR varchar(1024) default NULL,
primary key (USERID)
);
我在 table 中创建了一个条目,其中 USERID = 1
和 USERAVATAR = NULL
。
在Main.py
user_list = session.query(USER).all()
return jsonify(users=[r.serialize() for r in user_list])
sqltables.py
class USER(Base):
__tablename__ = 'USER'
USERID = Column(Integer, primary_key=True)
USERAVATAR = Column(String(1024))
def serialize(self):
return unicode({
'id': self.USERID,
'userAvatar': self.USERAVATAR
})
问题是,即使 USERAVATAR
在数据库中设置为 NULL
,我得到的是 None
作为我的 `JSON 输出。
{
"users": [
"{'userAvatar': None, 'id': 1}"
]
}
有人知道这里可能有什么问题吗?
您的 serialize
函数正在转换为字符串。这就是您在 JSON 输出中想要的字符串数组而不是对象数组吗?
如果不是,请将您的 serialize
函数更改为不使用 unicode()