SqlAlchemy:处理表列中有美元符号的列

2024-09-28 23:25:35 发布

您现在位置:Python中文网/ 问答频道 /正文

在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)

Tags: nameselfidpartnerstringgroupcommentcolumn
1条回答
网友
1楼 · 发布于 2024-09-28 23:25:35

只需将列名指定为第一个参数,并使用不同的属性名:

customer_partner_naziv = Column('customer$partner$naziv', String)

另外,您不需要自己的__init__—默认构造函数接受所有关键字参数(而且您不应该手动设置id,它通常是一个串行/自动增量列)

相关问题 更多 >