Я создаю проект, и у меня есть одно сомнение, поэтому сайт, если для центра поддержки, где проект django регистрирует случай для пользователя после того, как пользователь заполняет общую форму.
Итак, я создал название модели Case, и в нем есть такие поля, как case_number, email и все такое.
Теперь в views.py я использую CBV CreateView для создания, сохранения пользовательской формы и создания простого номера дела.
Где я застрял, это случайный номер, который представляет собой 10-значное поле строки, должен быть создан случайным образом, но как мне сохранить его после того, как клиент завершит заполнение формы?
потому что все плохое упоминание в полях будет отображаться как ввод для customer, а case_number - это не то, что я хочу, чтобы клиент заполнил его, оно должно генерироваться автоматически.
Я считаю, что это можно сделать просто: -
r2 = [random.randint (0, 10), random.randint (0, 10), random.randint (0, 10), random.randint (0, 10), random.randint (0, 10) , random.randint (0, 10), random.randint (0, 10), random.randint (0, 10), random.randint (0, 10), random.randint (0, 10)]
case_number = ('' .join (str (x) для x в r2))
и в CBV CreateView позволит мне случайным образом создать число и сохранить его, но я хочу, чтобы это было сделано в бэкэнде, поэтому я не могу упомянуть его в представлении создания,
Это просто сомнение, я уже попробовал.
models.py
class Case:
case_number = models.CharField(max_length=10)
issue=models.TextField()
product=models.CharField(max_field=100)
def get_absolute_url(self):
return reverse('case:single')
Views.py
class CaseCreation(CreateView):
model=Case
fields=('issue', 'product')
r2=[random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10), random.randint(0,10)]
self.case_number = (''.join(str(x) for x in r2))
Ожидаемый результат заключается в том, что я хочу, чтобы случайным образом 10-значный номер был записан для клиента и сохранен в БД
БД - sql lite3.