在分配参数时,keyword不能是表达式

时间:2015-05-18 08:33:12

标签: python python-2.7 sqlalchemy

您好我有一个名为save_schedule的方法,它将一些参数(transport_id,departure_id等)保存到数据库中。但是当我运行代码时,我得到了以下错误

    newSchedule = TravelScheduleDetailRepository(self.transport_id=transport_id, self.transport_type=transport_type, self.transport_company_name=transport_company_name, self.departure_city_id=departure_city_id, self.departure_country_id=departure_country_id, self.destination_city_id=destination_city_id, self.destination_country_id=destination_country_id, self.departure_date=departure_date, self.available_seat=available_seat)
SyntaxError: keyword can't be an expression

我仍然无法找到如何正确分配参数。

这是我的代码:

def save_travel_schedule(self, transport_id, transport_type, transport_company_name, departure_city_id, departure_country_id, destination_city_id, destination_country_id, departure_date, available_seat):
    newSchedule = TravelScheduleDetailRepository(self.transport_id=transport_id, self.transport_type=transport_type, self.transport_company_name=transport_company_name, self.departure_city_id=departure_city_id, self.departure_country_id=departure_country_id, self.destination_city_id=destination_city_id, self.destination_country_id=destination_country_id, self.departure_date=departure_date, self.available_seat=available_seat)
    session.add(newSchedule)
    session.commit()

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:5)

你的订单错了。

self.transport_type=transport_type应为transport_type=self.tranport_type,而不是相反。

所有其他参数相同。

答案 1 :(得分:0)

TravelScheduleDetailRepository类中的关键字参数不需要对实例的引用:self.

从所有关键字参数中删除self.可以解决您的问题。

self仅在您引用实例中的属性或方法时使用。