Django DETAIL: Неудачная строка содержит (..., null)

Ошибка - DETAIL: Failing row contains (6, 2022-06-18 09:50:32.722841+00, 2022-06-18 00:00:00+00, NE, something, something, null). У меня есть 3 модели: Patient => Hospitalization&Consults(ForeignKey=Patient), OneToMany. Я знаю, что там, на "null" месте, должен быть ID пациента, но я не знаю, как получить этот ID.

Models.py:

class Patient(models.Model):
     NameandLastName = models.CharField(max_length = 50)
     ...
class Consult(models.Model)
     Patient = models.ForeignKey(Patient, on_delete = models.CASCADE)
     simptoms = models.CharField(max_length = 50)
     option_pay = models.CharField(max_length = 40, choices = pay_method)
     ...

Views.py

class Consult(LoginRequiredMixin, CreateView):
model = Consult
template_name = 'Manage/ConsultAdd.html'
form_class = forms.FromConsultAdd

def form_valid(self, form):
    form.instance.autor = self.request.user
    messages.success(self.request, f"smth")
    return super().form_valid(form)

Я думаю, что мне нужно поставить что-то на просмотры, но не знаю что.

Думаю, единственное, чего вам не хватает, это сохранения экземпляра, это позволяет Django узнать, что вы обновили объект.

Вставьте это в вашу форму_valid:

def form_valid(self, form):
    form.instance.autor = self.request.user
    form.instance.save()
    messages.success(self.request, f"smth")
    return super().form_valid(form)
Вернуться на верх