我在 Heroku 上有一个 PostgreSQL 数据库,我已经使用 PopSQL 连接到该数据库。这是表的模型(使用 Flask + SQLAlchemy) -
class User(db.Model):
__tablename__ = 'users'
email = Column(String, primary_key=True)
group = Column(String)
age = Column(String)
gender = Column(String)
category = Column(String)
isEnrolled = Column(Boolean)
logCount = Column(Integer, default=0)
logged = Column(ARRAY(Boolean), default=[None]*14)
medMin = Column(ARRAY(Integer), default=[None]*14)
def __init__(self, email, age, group ,gender, category):
self.email = email
self.age = age
self.group = group
self.gender = gender
self.category = category
该表是使用创建的db.create_all()
在 PopSQL 中,当我执行以下形式的 INSERT 时:
INSERT INTO users(email,"group",age,gender,category)
VALUES('abc@gmail.com','other','20-30','Female','intrinsic');
logCount、logged 和 medMin 的列设置为null
而不是它们的默认值。为什么会这样?