我有一个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}"
  ]
}


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

最佳答案

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

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

关于python - 将列默认值设置为NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28848377/

10-12 20:04