Я хотел бы создать систему ваучеров и позволить администраторам создавать многочисленные коды ваучеров с различными значениями.
def randomString(stringLenght=8):
letters = string.ascii_letters + string.digits
return ''.join(random.sample(letters, stringLenght))
class VoucherCreateView(CreateView):
model = Voucher
form_class = VoucherCreateForm
template_name = 'voucher/VoucherCreateView.html'
success_url = reverse_lazy('voucher:voucher_create')
def form_valid(self, form):
x = self.request.POST.get('value_x')
x = int(x)
for i in range(0, x):
i = randomString()
e = Voucher(voucher=i, money=self.request.POST['value_money'])
e.save()
return super(VoucherCreateView, self).form_valid(form)
Models.py:
class Voucher(models.Model):
voucher = models.CharField(max_length=8, unique=True)
money = models.SmallIntegerField(blank=True)
created = models.DateTimeField(auto_now_add=True)
used = models.BooleanField(default=False)
Forms.py:
class VoucherCreateForm(forms.ModelForm):
value_x = forms.IntegerField(required=True)
value_money = forms.IntegerField(required=True)
class Meta:
model = Voucher
fields = ['voucher', 'money']
Я хотел бы добавить это к моему sql, используя запросы.Любая идея о том, как это сделать?
РЕДАКТИРОВАТЬ // решение ниже, и если есть такая ошибка, вам нужно изменить return super(VoucherCreateView, self).form_valid(form)
например return HttpResponse('success')