代码之家  ›  专栏  ›  技术社区  ›  user2268507

将列默认值设置为NULL

  •  0
  • user2268507  · 技术社区  · 11 年前

    我有一个 MySQL 下表:

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

    我在表中创建了一个条目,其中 USERID = 1 USERAVATAR = NULL .

    在里面 主.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 回复  |  直到 11 年前
        1
  •  0
  •   minboost    11 年前

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

    如果没有,请更改 序列化 不使用的函数 unicode()