将列默认值设置为NULL

时间:2015-03-04 07:01:23

标签: python mysql null flask sqlalchemy

我有一个MySQL表格如下:

create table USER
(
   USERID               int not null auto_increment,
   USERAVATAR           varchar(1024) default NULL,
   primary key (USERID)
);

我在表USERID = 1USERAVATAR = 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}"
  ]
}

有人知道这可能是什么问题吗?

1 个答案:

答案 0 :(得分:0)

您的serialize函数正在转换为字符串。这是你想要的JSON输出,一个字符串数组而不是一个对象数组?

如果没有,请将您的serialize功能更改为不使用unicode()