html - Django2.2 SQL-Server如何将复选框输入存储在数据库中
问题描述
我有 2 个复选框,我可以在 html 中检查它们,但我无法将它们发送到我的数据库,只有 id 增加但没有一个选中的复选框信息发送到数据库。
我的模型:
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>
用户单击提交按钮后,我该怎么做才能成功地将选中或未选中的复选框传输到我的数据库?
解决方案
我想到了。
在我看来,我必须编辑我的代码如下:
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()
现在每个选中的复选框都将添加到我的数据库中
推荐阅读
- laravel - 雄辩的模型 setRelation 生成数组而不是 Collection
- javascript - 用户定义的函数如何在 javascript 中继承原型属性
- powershell - PowerShell 中的 bool[] 中是否可以包含 [Nullable[bool]]
- php - 获取列名中的特定自定义参数值
- sql - phpmyadmin程序查询
- python - 在 Python 中严格搜索和替换文本
- javascript - 未使用 document.getElementById('someId').appendChild() 添加的函数
- android - 我可以让 apk 在移动和 android-TV 中使用吗?
- python - 如何查看python中内置函数的源代码?例如:eval()
- html - css翻转动画在Mozilla中不起作用