将列默认值设置为 NULL

Set Column default value to NULL

我有一个MySQLtable如下:

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

我在 table 中创建了一个条目,其中 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}"
  ]
}

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

您的 serialize 函数正在转换为字符串。这就是您在 JSON 输出中想要的字符串数组而不是对象数组吗?

如果不是,请将您的 serialize 函数更改为不使用 unicode()