使用数据值自动填充html中的表单字段并将其设置为只读

时间:2018-12-27 23:11:05

标签: python django

我正在创建一个页面,您可以在其中添加与客户有关的一些信息的客户。我想为每个客户分配一个唯一的ID。我当然会自己输入基本信息,但是我还需要一个形式为已生成的随机ID的字段,该字段已在数据库中检查(如果已经存在)。如果没有,则将其填写到表单中,如果确实存在,则生成一个新的表单,直到找到未使用的表单为止。

Models.py

class Opretkunde(models.Model):
    Fornavn = models.CharField(max_length=30)
    Efternavn = models.CharField(max_length=50)
    Telefon = models.IntegerField()
    Adresse = models.CharField(max_length=50)
    Postnummer = models.IntegerField()
    IA = models.CharField(max_length=10)
    salgsperson = models.CharField(max_length=150, default="missing")

IA字段是应该使用随机生成的值自动填充的字段

forms.py

class Opret_kunde_form(ModelForm):
    class Meta:
        model = Opretkunde
        fields = ['Fornavn', 'Efternavn', 'Telefon', 'Adresse', 'Postnummer', 'IA']

views.py

def index(request):
    if request.method == 'POST': 
        form = Opret_kunde_form(request.POST, request.FILES) 
        if form.is_valid():
            instance = form.save(commit=False) 
            instance.salgsperson = request.user 
            instance.save()
            return HttpResponseRedirect(reverse('createUser:createUser'))
    else:
        form = Opret_kunde_form()
    return render(request, 'createCustomer.html', {'form': form})

im用于生成值的函数看起来像这样

def random_with_N_digits(n):
    range_start = 10**(n-1)
    range_end = (10**n)-1
    return randint(range_start, range_end)

我正在考虑看起来像这样的东西

Uniquevalue = random_with_N_digits(8)
If Uniquevalue Opretkunde.objects.filter(IA=Uniquevalue).exists()
   generate new uniquevalue
   check again and if it doesnt exist then insert to form

0 个答案:

没有答案