Django 从表单中的数据创建对数据库的查询
我的代码Django 从表单中的数据创建对数据库的查询,django,django-models,django-forms,Django,Django Models,Django Forms,我的代码 我需要检查我在表格中输入的数据。在向数据库发出请求并仅返回我在表单中指定的数据之后。我在“分配前引用的局部变量'query'结尾处出错”,可能是我对任务的处理方法错误。如何实现这个想法?这是一个简单的逻辑错误query不存在,但您仍尝试将其发送到模板。您可以通过在函数开头放置query=None来解决此问题 #model.py class Personal(models.Model): name = models.CharField(db_column='FIO', max_l
我需要检查我在表格中输入的数据。在向数据库发出请求并仅返回我在表单中指定的数据之后。我在“分配前引用的局部变量'query'结尾处出错”,可能是我对任务的处理方法错误。如何实现这个想法?这是一个简单的逻辑错误<当表单不是帖子时,code>query不存在,但您仍尝试将其发送到模板。您可以通过在函数开头放置
query=None
来解决此问题
#model.py
class Personal(models.Model):
name = models.CharField(db_column='FIO', max_length=255, blank=True, null=True)
history_contract = models.CharField(max_length=255, blank=True, null=True)
category = models.CharField(max_length=255, blank=True, null=True)
#form.py
class NameForm(forms.Form):
name = forms.CharField(label='Name', max_length=100)
history_contract = forms.CharField(label='History', max_length=100)
category = forms.CharField(label='Category', max_length=100)
#view
def get_personal(request):
if request.method == 'POST':
form = NameForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']#data from form
history = form.cleaned_data['history_contract']#data from form
category = form.cleaned_data['category']#//data from form
query = Sotrudniki.objects.filter(fio__contain=name, history_contract__contain=history, category__contain=category)#The part I want to accomplish
else:
form = NameForm()
return render(request, 'personal.html', {'form': form, 'query': query})