Python Django сохранение двух моделей из html-формы

У меня есть две модели: PersonelModel и ArizaModel. Обе в одной html форме. Данные о персонах ранее были сохранены в таблице PersonelModel. При нажатии кнопки fetch data данные извлекаются путем запроса в соответствии с полем p_sicil. Они отображаются в полях p_isim и p_bilgisayar_adi. Я создал необходимые отношения между PersonelModel и ArizaModel.

Я хочу сохранить данные, которые я ввел в поле a_aciklama, в базе данных в соответствии с отношениями между PersonelModel и ArizaModel.

Скриншот html-формы

Как я могу это сделать?

models.py:

class PersonelModel(models.Model):
    p_sicil = models.CharField(max_length=8, verbose_name='Personel Sicili')
    p_isim = models.CharField(max_length=50, verbose_name='Personel Adı')
    p_bilgisayar_adi = models.CharField(max_length=4, verbose_name='Bilgisayar Adı')
    p_durum = models.BooleanField(default=True, verbose_name='Personel Durumu')
    birim = models.ForeignKey(BirimModel, verbose_name=("BİRİM"), on_delete=models.DO_NOTHING, null=True)
    grup = models.ForeignKey(GrupModel, verbose_name=("GRUP"), on_delete=models.DO_NOTHING, null=True)
    unvan = models.ForeignKey(UnvanModel, verbose_name=("ÜNVAN"), on_delete=models.DO_NOTHING, null=True)
    class Meta:
        db_table = 'PersonelTablosu'
        verbose_name = "PERSONEL"
        verbose_name_plural = "PERSONELLER"
    def __str__(self):
        return self.p_sicil

class ArizaModel(models.Model):
    a_aciklama = models.CharField(max_length=100, verbose_name='Arıza Açıklama')
    a_acilma_tarihi = models.DateTimeField(auto_now_add=True, verbose_name='Açılma Tarihi')
    a_durum = models.BooleanField(default=True, verbose_name='Arıza Durumu')
    a_kapanma_tarihi = models.DateTimeField(auto_now_add=True, verbose_name='Kapanma Tarihi')
    birim = models.ForeignKey(BirimModel, verbose_name=("BİRİM"), on_delete=models.DO_NOTHING, null=True)
    teknik_personel = models.ForeignKey(TeknikPersonelModel, verbose_name=("TEKNİK PERSONEL"), on_delete=models.DO_NOTHING, null=True)
    personel_ariza_acan = models.ForeignKey(PersonelModel, verbose_name=("AÇAN PERSONEL"), on_delete=models.DO_NOTHING, null=True)
    class Meta:
        db_table = 'ArizaTablosu'
        verbose_name = "ARIZA"
        verbose_name_plural = "ARIZALAR"   
    def __str__(self):
        return self.a_aciklama

forms.py:

class PersonelBilgileriForm(forms.ModelForm):
    p_sicil = forms.CharField(widget=forms.TextInput(attrs={
        'class' : 'form-control',
        'placeholder' : 'ab sicil',
        'maxlength' : '8'
    }))
    
    p_isim = forms.CharField(widget=forms.TextInput(attrs={
        'class' : 'form-control',
        'placeholder' : 'Adınız Soyadınız',
        'maxlength' : '50'
    }))
    
    p_bilgisayar_adi = forms.CharField(widget=forms.TextInput(attrs={
        'class' : 'form-control',
        'placeholder' : 'Bilgisayar adınızın son 4 hanesi',
        'maxlength' : '4'
    }))
    
    class Meta:
        model = PersonelModel
        fields = ['p_sicil','p_isim','p_bilgisayar_adi']
        
class ArizaBilgileriForm(forms.ModelForm):
    a_aciklama = forms.CharField(widget=forms.Textarea(attrs={
        'class' : 'form-control',
        'placeholder' : 'Arızayı yazınız'
    }))
    class Meta:
        model = ArizaModel
        fields = ['a_aciklama']

views.py:

def kullaniciArizaKaydetView(request):

    if request.method == 'POST':
        form2 = ArizaBilgileriForm(request.POST, prefix='ariza_bilgileri')

        kullaniciningirdigisicil = request.POST['sicildenpersonelbulinput']

        try:
            personelbilgileri = PersonelModel.objects.get(p_sicil=kullaniciningirdigisicil)
            icerik = {'bulunanbilgi':kullaniciningirdigisicil, 'personelbilgileri':personelbilgileri, 'ArizaBilgileriForm': form2}
            return render(request, 'kullanici.html', icerik)
        except:
            return render(request, 'kullanici.html', {"hata":"kullanıcı tanımlı değil"})   
    else:
        return render(request, 'kullanici.html')

kullanici.html: область формы

<form action="{% url 'kullaniciGetirURL' %}" method="POST" id="form-box" class="p-2">
          {% csrf_token %}

          <div class="form-group input-group">
            <div class="input-group-prepend">
              <span class="input-group-text"><i class="fa fa-user"></i></span>
            </div>
            <input type="search" class="form-control" value="{{personelbilgileri.p_sicil}}"  name="sicildenpersonelbulinput">
            <div class="input-group-append">
              <button class="btn btn-outline-secondary" type="submit">Kişisel Bilgileri Getir</button>
            </div>
          </div>

          <div class="form-group input-group">
            <div class="input-group-prepend">
              <span class="input-group-text"><i class="fa fa-user"></i></span>
            </div>
            <input type="text" class="form-control" placeholder="{{personelbilgileri.p_isim}}" name="" readonly>
          </div>

          <div class="form-group input-group">
            <div class="input-group-prepend">
              <span class="input-group-text"><i class="fa fa-desktop"></i></span>
            </div>
            <input type="text" class="form-control" placeholder="{{personelbilgileri.p_bilgisayar_adi}}" name="" readonly>
          </div>

          {% if personelbilgileri %}
            <div class="form-group input-group">
              <div class="input-group-prepend">
                <span class="input-group-text"><i class="fas fa-comment-alt"></i></span>
              </div>
              {{ArizaBilgileriForm.a_aciklama}}
            </div>
            <div class="form-group">
              <input type="submit" name="submit" id="submit" class="btn btn-primary btn-block" value="ARIZA BİLDİR">
            </div>
          {% endif %}
</form>

Как после ввода информации в форму сохранить ее в базе данных?

Вернуться на верх