在SqlAlchemy中,为每个表列声明一个变量。但是我必须从一个名为customer$partner$naziv
的列的表中读取,并且您不能在Python中声明一个具有类似名称的变量。有没有办法解决这个问题?
这就是我所拥有的(显然不起作用):
class RfidSif(Base):
""""""
__tablename__ = 'rfid_sif'
id = Column(Integer, primary_key=True)
customer = Column(Integer)
customer$partner$naziv = Column(String)
rfid_id = Column(String)
rfid_name = Column(String)
rfid_group_name = Column(String)
rfid_comment = Column(String)
rfid_startdate = Column(Date)
rfid_enddate = Column(Date)
activity = Column(SmallInteger)
user_headless = Column(Integer)
#----------------------------------------------------------------------
def __init__(self, id, customer, customer$partner$naziv, rfid_id, rfid_name, rfid_group_name, rfid_comment, rfid_startdate, rfid_enddate, activity, user_headless):
""""""
self.id = id
self.customer = customer
self.customer$partner$naziv = customer$partner$naziv
self.rfid_id = rfid_id
self.rfid_name = rfid_name
self.rfid_group_name = rfid_group_name
self.rfid_comment = rfid_comment
self.rfid_startdate = rfid_startdate
self.rfid_enddate = rfid_enddate
self.activity = activity
self.user_headless = user_headless
#----------------------------------------------------------------------
def __repr__(self):
""""""
return "<RfidSif - '%s': '%s' - '%s'>" % (self.id, self.rfid_id, self.name)
答案 0 :(得分:3)
只需将列名指定为第一个参数,并使用不同的属性名称:
customer_partner_naziv = Column('customer$partner$naziv', String)
此外,您不需要自己的__init__
- 默认构造函数接受所有内容的关键字参数(并且您不应该手动设置id
,它通常是一个序列/ autoincrement column)