2 つのフィールドに値を保存しようとしていますが、それらを保存するときに値を に変更するnoneと、db にも表示されますnull。
form.cleaned_data()かっこを角かっこに変更して、フォームの 2 つの値がデータベースに取り込まれるかどうかを確認しようとしましたが、との違いがよくわかりませんがform.cleaned_data[]、角かっこを使用することで、エラー。
ビュー.py
def solit(request):
if request.method == 'POST' and request.is_ajax():
form = addiForm(request.POST)
if form.is_valid():
peticion = form.save(commit=False)
peticion.usuario = request.user
peticion.save()
peticion.usuario.d_pendientes = form.cleaned_data.get('d_pendientes')
peticion.usuario.h_pendientes = form.cleaned_data.get('h_pendientes')
peticion.usuario.save()
print (peticion.usuario.d_pendientes)
print (peticion.usuario.h_pendientes)
return JsonResponse({'status': 'true', 'msg': 'Procesado Correctamente'})
else:
return JsonResponse({'status': 'false', 'msg': 'Los datos no son validos'})
form = addiForm()
return render(request, 'plantillas/adicionar.html', {'form':form})
私のモデル.py
class Usuarios(AbstractUser):
numero_empleado = models.IntegerField(null= True, blank= True)
area = models.CharField(max_length = 200, null= True, blank= True)
d_pendientes = models.IntegerField(null= True, blank= False)
h_pendientes = models.IntegerField(null= True, blank= False)
f_init = models.DateField(max_length = 200,null= True, blank= True)
init_vac = models.DateField(max_length = 200, null= True, blank= True)
fin_vac = models.DateField(max_length = 200, null= True, blank= True)
ul_vac_tomadas = models.IntegerField(null= True, blank= True)
class Peticion(models.Model):
solit_choices = (
('Adicionar','Adicionar'),
)
solicitudes_id = models.AutoField(primary_key=True)
usuario = models.ForeignKey(Usuarios, on_delete=models.CASCADE, null=True, blank=True)
petit = models.CharField(max_length = 255, choices=solit_choices, null=True, blank=False)
fec = models.DateTimeField(auto_now=True)
razon = models.TextField(max_length=255, null=True, blank=True)
periodo_init = models.DateField(max_length = 200, null=True, blank=True)
periodo_fin = models.DateField(max_length = 200, null=True, blank=True)
dias_adicion = models.IntegerField(null=True, blank=False)
horas_adicion = models.FloatField(null=True, blank=False)
フォーム.py
class addiForm(forms.ModelForm):
class Meta:
"""Formulario de solicitud"""
model = Peticion
fields = [
'solicitudes_id',
'petit',
'razon',
'periodo_init',
'periodo_fin',
'dias_adicion',
'horas_adicion',
]
コンソールで、彼が POST リクエストを受信していることがわかりますが、フォーム入力に入力した値ではなく、値 <code>none も出力されます。