根据 python 中表单中的用户输入,为模型对象动态赋值

Dynamic Assignment of a value to Model object, dependent on user inputs in form in python

我在 python 和 Django 开发方面是全新的,并且正在进行测试 运行,其中我必须使模型对象动态化,并取决于表单输入。

如果 C8 对象 = 1,我希望 T8 对象的值为“hi”。

我有以下模型和视图代码:

    Models:
Class Patient
C8 = models.CharField(null=True, max_length=200)
T8 = models.CharField(null=True, max_length=200)

Views:

def reg(request):
    form = RegForm()
    if request.method == 'POST':
        form = RegForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect (reverse('behandlingsplan'))

if Patient.objects.get(Patient.C8) == 1:
    set (Patient.objects.get(Patient.T8)) = "Hi"
        print (Patient.T8)


context = {'ptid':ptid, 'form':form}
return render(request,'DentHelp/reg.html', context)

有什么帮助吗?

您可以在 model.pyform.py

中使用 choices

models.py:

class Patient(models.Model):
    CHOICES = (
        (1, 'Hi'),
        (2, 'Your_value')
    )

    t8 = models.PositiveSmallIntegerField(choices=CHOICES)
    ...

当用户输入1时,它在数据库中输入Hi。您可以从视图中删除 if。 您可以在 article or in gjango documentatiin.

中找到更多信息