2010-10-25 95 views
0

我正在构建一个小型应用程序,可以查看车辆的可用性并帮助客户预订它。Django更新多个查询

在这我正在使用一个表单向导,引导用户通过这些步骤。

在后端我正在更新所有查询成功,但我不太确定如何执行它的一部分。

我有两个型号,报价和车辆

车辆is_bok =真或假 报价看is_booked车辆=假

当用户产生了他的报价,他可以看到有多少车辆可即5.

,如果我再选择2辆,我想前两个可用的车辆更新为is_booked=True

### Check the vehicle availability and deduct amount of vehicles booked 
     amount_of_vehicles = 2 
     vehicle = Vehicle.objects.filter(is_booked=False) 
     ### run update for each vehicle 
     vehicle.update() 

我将如何实现这一目标?

回答

2

编辑。由于切片(限制),您必须针对查询集中的每个元素运行更新查询:

amount_of_vehicles = 2 
vehicles = Vehicle.objects.filter(is_booked=False)[0:amount_of_vehicles] 
for vehicle in vehicles: 
    vehicle.is_booked = True 
    vehicle.save() 
+0

声明错误:切片已被占用后无法更新查询。 – ApPeL 2010-10-25 09:12:40

+0

@ApPeL更新! – Anpher 2010-10-25 09:21:07