0
我有一個表TS_TEST_ID
列。我有一個具有以下屬性SQLAlchemy的模型:SQLAlchemy - 使用數據庫列名稱在模型中設置值,而不是屬性名稱
id = Column(u'TS_TEST_ID', INTEGER(), primary_key=True, nullable=False)
有什麼辦法來設置我的模型類的實例id
僅TS_TEST_ID
知道什麼時候?也就是說,我只知道數據庫中列的名稱,我想以某種方式將其映射到id
並在我的模型上設置id
屬性。我希望只是做MyModel(**{'TS_TEST_ID':1})
會的工作,但我得到了以下錯誤:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 4, in __init__
File "C:\Python26\lib\site-packages\sqlalchemy\orm\state.py", line 111,
in initialize_instance
return manager.events.original_init(*mixed[1:], **kwargs)
File "C:\Python26\lib\site-packages\sqlalchemy\ext\declarative.py", line 1377,
in _declarative_constructor
(k, cls_.__name__))
TypeError: 'TS_TEST_ID' is an invalid keyword argument for MyModel
我寧可不要在我的模型來定義TS_TEST_ID = Column(u'TS_TEST_ID', INTEGER(), primary_key=True, nullable=False)
每列,或者說,甚至叫TS_TEST_ID
的方法,它返回id
屬性。
無法檢查它,所以只是一個瘋狂的猜測:'yourobj.c.TS_TEST_ID = 15'做的伎倆? –
「MyModel」的一個實例沒有'c'屬性,但我可以通過'myobj .__ mapper __。c'訪問同樣的東西(我想),並試圖訪問'myobj .__ mapper __。c.TS_TEST_ID'使用'AttributeError'失敗。 –