Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何更改列表项的视图_Python_Html_Django - Fatal编程技术网

Python 如何更改列表项的视图

Python 如何更改列表项的视图,python,html,django,Python,Html,Django,我正在使用Django,在我的models.py中,我创建了一些列表。我的项目是关于汽车进出控制。因此,我创建了一个特定的列表,当用户请求一辆车时,它有以下状态:“等待、确认或拒绝”。我需要知道在某些事件发生时如何更改这些状态,例如请求被拒绝或批准 这是my models.py代码的一部分: SITUATION = [ ("WAITING", "WAITING"), ("DENIED", "DENIED"), ("CONFIRMED", "CONFIRMED") ] class Request

我正在使用Django,在我的models.py中,我创建了一些列表。我的项目是关于汽车进出控制。因此,我创建了一个特定的列表,当用户请求一辆车时,它有以下状态:“等待、确认或拒绝”。我需要知道在某些事件发生时如何更改这些状态,例如请求被拒绝或批准

这是my models.py代码的一部分:

SITUATION = [
("WAITING", "WAITING"), ("DENIED", "DENIED"), ("CONFIRMED", "CONFIRMED")
]

class RequestCar (models.Model):

    id = models.AutoField (primary_key = True)
    secretary = models.CharField (max_length = 15, choices = SECRETARIES)
    dateTimeReserve = models.DateTimeField (auto_now_add = True, db_column = 'date_time_reserve')
    dateExit = models.DateTimeField (verbose_name = 'Expected Exit Date', db_column = 'exit_date')
    exitTime = models.CharField (max_length = 3, verbose_name = 'Expected Exit Time', choices = TIME)
    requester = models.CharField (max_length = 50)
    email = models.EmailField ()
    numPassengers = models.IntegerField (verbose_name = 'Number of Passengers', db_column = 'num_pasage')
    reason = models.CharField (max_length = 150)
    itinerary = models.CharField (max_length = 50)
    expectationTime = models.CharField (max_length = 7, verbose_name = 'What is the expected time of absence?',choices = TIME)
    driverAwait = models.CharField (max_length = 3, verbose_name = 'Does the driver wait in place?',choices = DRIVER_AGUARD, db_column = 'driver_guard')
    office = models.FileField (verbose_name = 'office', upload_to = 'media /', blank = True)
    situation = models.CharField (max_length = 10, choices = SITUATION, default = "WAITING")


class ResponseRequest (models.Model):
    id = models.AutoField (primary_key = True)
    accepted = models.NullBooleanField ()
    car = models.ForeignKey (Car, on_delete = models.CASCADE, db_column = 'car')
    driver = models.ForeignKey (Driver, on_delete = models.CASCADE, db_column = 'driver')
    request = models.ForeignKey (RequestCar, on_delete = models.CASCADE, db_column = 'request')
My views.py:

def replyGeneral Request (request, template_name = "answer / reply_request.html"):
    form = AnswerRequestForms (request.POST or None, request.FILES or None)
    if form.is_valid ():
        form.save ()
        return redirect ('listGeneral Request')
    else:
        form = AnswerRequestForms ()
    return render (request, template_name, {'form': form})

基本上,我希望当请求被接受时,情况从“等待”变为“确认”。

OBS:模型和视图中都有其他类,但我认为这个问题不需要它。

您的
AnswerRequestForms
用于
ResponseRequest
,因此当您保存它时,它会返回您刚刚创建的
ResponseRequest
实例:

if form.is_valid():
    response_request = form.save()
    car_request = response_request.request
    car_request.situation = "CONFIRMED"
    car_request.save()
    return redirect(...)

RequestCar
模型的
AnswerRequestForms
a
ModelForm
是吗?不是,它来自ResponseRequest