У меня проблема после выбора, я получаю пустой набор. И форма возвращается пустой и не может сохранить выбранный выбор в базу данных.
А это мой код:
У меня есть форма:
class UserResponseForm(forms.Form):
gejala_id1 = forms.ModelMultipleChoiceField(queryset=Gejala.objects.all().values_list('gejala', flat=True).distinct().filter(id_organ=1), widget=forms.CheckboxSelectMultiple, required=False)
И мой взгляд
def responsePenyakit(request):
if request.user.is_authenticated:
form = UserResponseForm(request.POST or None)
if form.is_valid():
gejala1 = form.cleaned_data.get('gejala_id1')
answer = UserAnswer.objects.all().filter(user_id = request.user.id).order_by('-number_diagnosis')
user = UserAnswer()
if(len(answer) > 0):
user = answer[1]
else:
user.number_diagnosis = 0
if(len(gejala1)>0):
for i in range(0, len(gejala1)):
userAnswer = UserAnswer()
userAnswer.gejala_answer = gejala1[i]
userAnswer.user_id = request.user.id
userAnswer.number_diagnosis = user.number_diagnosis+1
userAnswer.save()
return redirect('diagnosis_penyakit:response_matching')
else:
raise Http404
И моя форма:
<form method='POST' action='{% url "diagnosis_penyakit:response"%}' enctype="multipart/form-data"> {% csrf_token %}
{{ form.errors }}
<div class="row" style="margin-left:10rem;">
<div class="col-md-3">
<a onclick="myFunction1()" style="font-size:2rem; color:black;">Tubuh <i class="fas fa-angle-down"></i></a><br/>
<div id="myDIV1" style="display:none; margin-left:-3rem;">
{{ form.gejala_id1 }}
</div>
</div>
</div>
И моя модель:
class UserAnswer(models.Model):
gejala_answer = models.CharField(max_length=250)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
number_diagnosis = models.IntegerField(default=0)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
def __str__(self):
return self.gejala_answer
class Gejala(models.Model):
penyakit_id = models.IntegerField()
gejala = models.CharField(max_length=150)
id_organ = models.IntegerField(null=False)
status = models.CharField(max_length=150, default='Tetap')
def get_absolute_url(self):
return reverse('gejala:gejala_detail', kwargs={'pk':self.pk})
def __str__(self):
return self.gejala
Что не так и что мне делать?
Надеюсь, кто-нибудь может мне помочь.
Я новичок в Джанго