Django2.2 SQL -Server Как сохранить входные данные флажка в базе данных - PullRequest
0 голосов
/ 29 марта 2020

У меня есть 2 флажка, и я могу отметить их в html, но я не могу отправить их на мою базу данных, только идентификатор увеличивается, но ни одна проверенная информация флажка не отправляется на базу данных.

моя модель:

class Qskontrolle(models.Model):
    qsid = models.AutoField(db_column='QsID', primary_key=True)  
    mhd = models.BooleanField(db_column='MHD', blank=True, null=True)  
    etiketten = models.BooleanField(db_column='Etiketten', blank=True, null=True) 
    verpackungseinheiten = models.BooleanField(db_column='Verpackungseinheiten', blank=True, null=True)  

    class Meta:
        managed = False
        db_table = 'qskontrolle'

мой взгляд:

def qskontrolle_view(request):

    qskontrolle = QskontrolleForm()
    if request.method == 'POST':
        qskontrolle = QskontrolleForm(request.POST)
        if qskontrolle.is_valid():
            qskontrolle.save()
    context = {
        'object': qskontrolle
    }

    return render(request, "pages/qswareneingang.html", context)

моя форма:

class QskontrolleForm(ModelForm):
    class Meta:
        model = Qskontrolle
        fields = '__all__'

мой html:

<form action="" method="post">
      {% csrf_token %}
            <div class="card-group">
                <div class="col-md-4">
                    <div class="card">
                        <div class="card-header">
                            <h5 class="card-category">Wareneingangn QS-Prüfung</h5>
                            <h4 class="card-title"> Kontroll-Check</h4>
                        </div>
                        <div class="card-body">
                            <div class="table-full-width">
                            <table class="table">
                            <tr>
                                <td>
                                    <div class="form-check">
                                        <label class="form-check-label">
                                            <input type="checkbox" class="form-check-input" name="mhd">
                                            <span class="form-check-sign"></span>
                                        </label>
                                    </div>
                                </td>
                                <td class="text-left">MHD
                                </td>
                                <td class="td-actions text-right">
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <div class="form-check">
                                        <label class="form-check-label">
                                            <input class="form-check-input" type="checkbox" name="etiketten">
                                            <span class="form-check-sign"></span>
                                        </label>
                                    </div>
                                </td>
                                <td class="text-left">Etiketten
                                </td>
                                <td class="td-actions text-right">
                                </td>
                            </tr>
</form>

Что я могу сделать успешно передать отмеченные или не отмеченные флажки в мою базу данных после того, как пользователь нажал кнопку отправки?

1 Ответ

0 голосов
/ 01 апреля 2020

Я понял это.

На мой взгляд, мне нужно было отредактировать мой код, как показано ниже:

def qskontrolle_view(request):

 mhd = 'mhd' in request.POST
 etiketten = 'etiketten' in request.POST
 verpackungseinheiten = 'verpackungseinheiten' in request.POST

 zuSpeichern = models.Qskontrolle(mhd=mhd, etiketten=etiketten,
                                verpackungseinheiten=verpackungseinheiten)

 zuSpeichern.save()

теперь каждый отмеченный флажок будет добавлен в мою базу данных

...