在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)发布于 2016-05-05 16:11:54
只需指定列名作为第一个参数,并使用不同的属性名:
customer_partner_naziv = Column('customer$partner$naziv', String)此外,您不需要自己的__init__ -默认构造函数接受所有内容的关键字参数(而且您也不应该手动设置id,它通常是一个串行/自动增量列)。
https://stackoverflow.com/questions/37045596
复制相似问题