Django while True try loop в createview
Надеюсь, я не слишком параноидален, но я пытаюсь сделать так, чтобы при наличии записи или номера клиента следующая запись отличалась от предыдущей, причина, по которой я делаю это таким образом, заключается в том, что каждый день будет много людей, собирающих данные в одно и то же время, и я не хочу, чтобы вылетала ошибка 404 или что-то подобное, а наоборот, в случае, если в базе данных уже есть запись, повторить попытку, повторить попытку и еще раз повторить попытку. Это пример, который мне нужно привести, чтобы хорошо закончить мой скрипт, очевидно, до того, как он сделает запрос к базе данных для проверки последней записи.
Я знаю, что это возможно сделать с представлениями на основе функций, но в данный момент я тестирую представления на основе классов, я делаю это уже несколько часов. Любая помощь очень важна для меня. Спасибо, ребята.
models.py
from django.db import models
# Create your models here.
class Empresa(models.Model):
nombre = models.CharField(max_length=20)
numero = models.IntegerField(unique=True)
views.py
from dataclasses import field
from django.shortcuts import render
from django.views.generic import *
from aplicacion.models import Empresa
# Create your views here.
class CrearEmpresa(CreateView):
model = Empresa
template_name = 'crearempresa.html'
success_url = '/crear/'
fields = ['nombre', 'numero']
valor = 0
def form_valid(self, form):
x = form.save(commit=False)
x.numero = self.valor
while True:
try:
x.save()
return super().form_valid(form)
break
except:
self.valor = self.valor + 1
pass