在声明性方法中,我想排除一个属性,当我的列名和属性名相同时,它可以正常工作。但是,如果我给出不同的名称,那么它就不起作用了。这是我的示例代码。
Base = declarative_base()
class tblUser(Base):
__tablename__ = 'tblUser'
User_Id = Column('User_Id', String(100), primary_key=True)
SequenceNo = Column('Sequence_No', Integer)
FullName = Column('FullName', String(50))
__mapper_args__ = {'exclude_properties' :['Sequence_No']}
user = tblUser()
user.User_Id = '1000001'
user.SequenceNo = 101
session.add(user)
session.commit()
在上面的示例中,即使我为其分配了一些值,我也不希望在数据库中更新 SequenceNo 属性。所以我使用了 exclude_properties 但仍然更新了 db 中的值。但是,如果我将属性名称从 SequenceNo 更改为 Sequence_No (与列名相同),那么它会按照行为工作。谁能帮我?
谢谢阿迪