在sqlalchemy中存储到没有值的数据库

时间:2014-08-26 04:01:56

标签: python postgresql sqlalchemy

我在sql炼金术中尝试api,其中我将课程的详细信息存储到数据库中。以下代码是我正在使用的代码,其中课程名称,开始日期,结束日期和每天的小时数来自表单。开始日期和结束日期是可选的。所以它可以没有。但我不能将值存储到具有空值的数据库。

course_db =课程(课程=课程,start_date = start_date,end_date = end_date,hours_per_day =小时)

我的模特是

课程(基础):      tablename ='courses'

id = Column(INTEGER, primary_key=True)
course = Column(String, unique=True, nullable=False)
start_date = Column(Date, nullable=True)
end_date = Column(Date, nullable=True)
hours_per_day = Column(Integer, nullable=True)

def __repr__(self):
    return "Course(%r)" % (self.course)

有人可以帮我解决这个问题。我使用postgresql作为我的数据库。

1 个答案:

答案 0 :(得分:0)

得到了答案。在模型中插入 init

课程(基础):

__tablename__ = 'courses'

id = Column(INTEGER, primary_key=True)
course = Column(String, unique=True, nullable=False)
start_date = Column(Date, nullable=True)
end_date = Column(Date, nullable=True)
hours_per_day = Column(Integer, nullable=True)

def __init__(self, course, start_date=None, end_date=None, hours_per_day=None):
    self.course = course
    if start_date:
        self.start_date = start_date
    if end_date:
        self.end_date = end_date
    if hours_per_day:
        self.hours_per_day = hours_per_day

def __repr__(self):
    return "Course(%r)" % (self.course)