gpt4 book ai didi

python - Django 验证错误 : ["“(' 1',)” value must be either True, 错误,或无。”]

转载 作者:行者123 更新时间:2023-12-04 00:15:44 26 4
gpt4 key购买 nike

为什么我收到这个错误? [""('1',)"值必须是 True、False 或 None。"] 我在我的代码中遗漏了什么吗?我正在尝试更新数据,但收到此错误。
这是我的 html

<input type="checkbox" name="Ubo"  value="1" {% if feedback.q5Ubo %}checked="check"   {% endif %}>
<input type="checkbox" name="Lagnat" value="1" {% if feedback.q5Lagnat %}checked="check" {% endif %}>
<input type="checkbox" name="Sipon" value="1" {% if feedback.q5Sipon %}checked="check" {% endif %} >
<input type="checkbox" name="Lbm" value="1" {% if feedback.q5LBM %}checked="check" {% endif %}>
这是我的views.py
Ubo = request.POST.get('Ubo') or 0
Lagnat = request.POST.get('Lagnat') or 0
Sipon = request.POST.get('Sipon') or 0
Lbm = request.POST.get('Lbm') or 0
这是我的models.py
q5Ubo = models.BooleanField(default=False, blank=True, null=True)
q5Lagnat = models.BooleanField(default=False, blank=True, null=True)
q5Sipon = models.BooleanField(default=False, blank=True, null=True)
q5LBM = models.BooleanField(default=False, blank=True, null=True)
更新 我改变了我的 html 和 views.py
html
<input type="checkbox" name="Ubo"  value=True>
<input type="checkbox" name="Lagnat" value=True >
<input type="checkbox" name="Sipon" value=True >
<input type="checkbox" name="Lbm" value=True >
View .py
Ubo = bool(request.POST.get('Ubo')) or False
Lagnat = bool(request.POST.get('Lagnat')) or False
Sipon = bool(request.POST.get('Sipon')) or False
Lbm = bool(request.POST.get('Lbm')) or False
这是回溯
Traceback (most recent call last):
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/core/handlers/base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/MyHealth/contacttracingapp/TracingSettings/TracingApp/views.py", line 865, in Data
insert_2tab.save()
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/base.py", line 753, in save
self.save_base(using=using, force_insert=force_insert,
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/base.py", line 790, in save_base
updated = self._save_table(
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/base.py", line 872, in _save_table
updated = self._do_update(base_qs, using, pk_val, values, update_fields,
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/base.py", line 926, in _do_update
return filtered._update(values) > 0
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/query.py", line 803, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1522, in execute_sql
cursor = super().execute_sql(result_type)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1143, in execute_sql
sql, params = self.as_sql()
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1488, in as_sql
val = field.get_db_prep_save(val, connection=self.connection)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/fields/__init__.py", line 823, in get_db_prep_save
return self.get_db_prep_value(value, connection=connection, prepared=False)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/fields/__init__.py", line 818, in get_db_prep_value
value = self.get_prep_value(value)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/fields/__init__.py", line 967, in get_prep_value
return self.to_python(value)
File "/home/MyHealth/contacttracingapp/ctenv/lib/python3.8/site-packages/django/db/models/fields/__init__.py", line 957, in to_python
raise exceptions.ValidationError(

Exception Type: ValidationError at /Data/
Exception Value: ['“(False,)” value must be either True, False, or None.']
这是我的完整views.py
    q1 = request.POST.get('q1')
q2 = request.POST.get('q2')
q2Reason = request.POST.get('q2Reason')
q3 = request.POST.get('q3')
q4 = request.POST.get('q4')
q4Reason = request.POST.get('q4AnswerDetailed')
q5 = request.POST.get('q5')
q6visitedPlacesDuringNonWorkingDays = request.POST.get('q6visitedPlacesDuringNonWorkingDays')
Ubo = bool(request.POST.get('Ubo')) or False
Lagnat = bool(request.POST.get('Lagnat')) or False
Sipon = bool(request.POST.get('Sipon')) or False
Lbm = bool(request.POST.get('Lbm')) or False
paghinga = bool(request.POST.get('paghinga')) or False
Pananakit = bool(request.POST.get('Pananakit')) or False
katawan = bool(request.POST.get('katawan')) or False
Pagkawala = bool(request.POST.get('Pagkawala')) or False

insert_2tab = TrEmployeeSuppliersFeedbackQuestionsSubmittedRecords(
dateSubmitted=datenow,
fmCustomerID=company,
fmCustomerEmployeeSupplierID=fmCustomerEmployeeSupplierID,
q1Answer=q1,
q2Answer=q2,
q2AnswerDetailed=q2Reason,
q3Answer=q3,
q4Answer=q4,
q4AnswerDetailed=q4Reason,
q5Answer=q5,
q5Ubo=Ubo,
q5Lagnat=Lagnat,
q5Sipon=Sipon,
q5LBM=Lbm,
q5HirapSaPaghinga=paghinga,
q5PananakitngUlo=Pananakit,
q5PananakitngKatawan=katawan,
q5PagkawalaNgPangAmoyatPanlasa=Pagkawala

)
insert_2tab.save()

最佳答案

我不确定为什么您的“手写表格”不起作用,我怀疑大多数其他用户也不会,因为 你不应该手写表格 !
会容易很多我们俩 ,如果我向您展示如何在您的设置中使用表单。
在传统上称为 的文件中forms.py ,为您的模型创建一个新的表单类:

from django import forms
from .models import TrEmployeeSuppliersFeedbackQuestionsSubmittedRecords as ThisNameIsTooLong


class ThisNameIsTooLongForm(forms.ModelForm):
class Meta:
model = ThisNameIsTooLong
fields = '__all__'
现在,在您的 views.py :
from django.shortcuts import render, redirect
form django.core.exceptions import ValidationError, SuspiciousOperation

from .forms import ThisNameIsTooLongForm

def my_view(request):
form = ThisNameIsTooLongForm(request.POST or None)

if request.method == 'GET':
context = {'form': form}
return render(request, 'my_template.html', context)

if request.method == 'POST':
if form.is_valid():
form.save()
# handle valid form here. eg:
return redirect('some_view')
else:
# handle invalid form
raise ValidationError('form was invalid')

# method was neither "GET" nor "POST", raise a 405: Method Not Allowed
raise SuspiciousOperation(405)
最后,在 my_template.html ,您需要通过传递给模板上下文的表单对象来呈现表单:
<form method="POST"> {% csrf_token %}
{{ form.as_ul }}
<button>save</button>
</form>
我不知道你在哪里 feedback 对象来自,所以我省略了表单输入值的编程切换。如果您想要与当前设置具有相同的功能,则需要找到一种方法来传递 feedback 到表单的 __init__ , 例如:
feedback = {'q5Ubo': True}
form = ThisNameIsTooLongForm(request.POST or None, feedback=feedback)
在你的表单类中:
class ThisNameIsTooLongForm(forms.ModelForm):
class Meta:
model = ThisNameIsTooLong
fields = '__all__'

def __init__(self, *args, feedback=None, **kwargs):
super().__init__(*args, **kwargs)

if feedback is not None:
for key, value in feedback.items():
self.initial[key] = value
你真的应该给 form docs 如果您还没有阅读,请阅读。

关于python - Django 验证错误 : ["“(' 1',)” value must be either True, 错误,或无。”],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64038575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com