Python 如何在使用Elixir session.commit()写入db时保留计算字段

Python 如何在使用Elixir session.commit()写入db时保留计算字段,python,sql-server,python-elixir,Python,Sql Server,Python Elixir,我正在使用Elixir连接到MSSQL数据库。数据库有一个表,其中有一个计算列。但是,当我更新对象中的其他列并提交更改时,python告诉我无法插入到计算列中 我正在使用自动加载,因此在我的模型中: class Slot(Entity): using_options(tablename='tbScheduleSlots', autoload=True) using_table_options(schema='sch') 我创建了一个插槽并给它一些值,然后提交: ss = Slo

我正在使用Elixir连接到MSSQL数据库。数据库有一个表,其中有一个计算列。但是,当我更新对象中的其他列并提交更改时,python告诉我无法插入到计算列中

我正在使用自动加载,因此在我的模型中:

class Slot(Entity):
    using_options(tablename='tbScheduleSlots', autoload=True)
    using_table_options(schema='sch')
我创建了一个插槽并给它一些值,然后提交:

ss = Slot(StartDateTime='2012-01-01 13:00:00:000', Program_ID=1234, etc)
session.commit()
重要提示!!我没有给ss对象任何EndDateTime值,因为这是一个计算字段。因此,实际上,我不会将任何内容传递回该字段的数据库

错误:

sqlalchemy.exc.ProgrammingError:(ProgrammingError)('42000','[42000][FreeTDS][SQL Server]无法修改列“EndDateTime”,因为它是计算列或是联合运算符的结果。(271)(SQLPrepare)'INSERT INTO sch.[tbScheduleSlots]([Program_ID]、[SlotType_ID]、[StartDateTime]、[EndDateTime]、[Duration],[说明],[注释],[状态],[主槽ID])插入的输出。[ID\U ScheduleSlot]值(?,,,,,,,,,,,,,,,,,,,,'(5130,1,'2012-01-01 13:00:00:000',无,无,无,无,无,2,无)


呃,我不是Python程序员,但这行代码似乎是:

using_options(tablename='tbScheduleSlots', autoload=True)

使用autoload的代码可能是将
[EndDateTime]
添加到INSERT语句中的代码(如错误消息所示)。看起来这是告诉Python底层表(即表中的字段)元数据的行。寻找一种方法来定义要手动更新的列。依靠Python生成插入似乎是自动包括
[EndDateTime]
在基础查询中。

需要更多信息!您如何定义表类?您如何更新列?您看到了什么错误消息?至少需要一些代码片段。您是对的,对不起。希望我的编辑效果更好。我想知道是否有选项告诉它忽略计算字段或某些字段名称?你是对的,我可能对自动加载此表期望过高。我将尝试手动定义此表。谢谢!