从views.py更新Django Models.py的属性

时间:2018-12-01 19:56:13

标签: python django python-3.x

我正在从事一个预订系统项目(Django),我希望每次用户预订票时使座位减少1个,我将座位作为模型文件中火车类中的变量进行了设置,并且我做了一个函数在同一文件中将座位减少1,但我不知道如何或在何处调用它。

1 个答案:

答案 0 :(得分:0)

减去席位数时,应使用F expression来避免possible race condition

from django.db.models import F
from myproject.models import Train

train = Train.objects.get(some_train_id)
train.seats = F('seats') - 1
train.save()

这将使用数据库语义来减少值。这样,即使有人同时坐下,您也可以在数据库中设置正确的号码。

您几乎可以在任何地方拨打此电话。通常,它将是您的Django应用程序中的视图。

相关问题