PGSQL 查询中的参数传递
Parameter pass in PGSQL query
我试图在我的 class 中调用一个创建函数,它需要携带一个 sql 语句。我需要在该查询中传递一些参数,但我不知道该怎么做。
roster_substitute中的创建函数class
def create(self, cr, uid, values, context=None):
rec_id=values['id']
sub_day=values['roster_day']
ros_time=values['time_slot']
cr.execute("""UPDATE roster_days_allocation SET roster_allocation_connection = (SELECT MAX(ra.id) FROM roster_allocation ra, roster_substitution rs
WHERE ra.emp_id=rs.sub_employee)
WHERE allocation_start_day = **'sub_day'** AND roster_time_list = **ros_time**""")
return super(roster_substitution, self).create(cr, uid, values, context=context)
如果您使用的是标准 psycopg2 库,那么
cr.execute("""UPDATE roster_days_allocation SET roster_allocation_connection = (SELECT MAX(ra.id) FROM roster_allocation ra, roster_substitution rs
WHERE ra.emp_id=rs.sub_employee)
WHERE allocation_start_day = %s AND roster_time_list = %s""", (sub_day, ros_time))
我试图在我的 class 中调用一个创建函数,它需要携带一个 sql 语句。我需要在该查询中传递一些参数,但我不知道该怎么做。
roster_substitute中的创建函数class
def create(self, cr, uid, values, context=None):
rec_id=values['id']
sub_day=values['roster_day']
ros_time=values['time_slot']
cr.execute("""UPDATE roster_days_allocation SET roster_allocation_connection = (SELECT MAX(ra.id) FROM roster_allocation ra, roster_substitution rs
WHERE ra.emp_id=rs.sub_employee)
WHERE allocation_start_day = **'sub_day'** AND roster_time_list = **ros_time**""")
return super(roster_substitution, self).create(cr, uid, values, context=context)
如果您使用的是标准 psycopg2 库,那么
cr.execute("""UPDATE roster_days_allocation SET roster_allocation_connection = (SELECT MAX(ra.id) FROM roster_allocation ra, roster_substitution rs
WHERE ra.emp_id=rs.sub_employee)
WHERE allocation_start_day = %s AND roster_time_list = %s""", (sub_day, ros_time))