我的模型 Linea 只有一个名为 numero 的字段,它是一个字符集( numero 的值应该是数字)。我想做一个用户可以搜索 numero 值的表单。如果用户输入的数字存在于数据库中,则视图将重定向到显示有关 numero 的值的信息的模板,但如果用户搜索的值不在数据库中,则它将抛出一个错误。
我在Django中很新,而且我已经搜索过这样做但我无法实现它。
forms.py
from django import forms
from .models import Linea
class LineaForm(forms.ModelForm):
class Meta:
model = Linea
fields = ('numero',)
models.py
from __future__ import unicode_literals
from django.db import models
class Linea(models.Model):
numero = models.CharField(max_length=2)
def __str__(self):
return self.numero
views.py
from django.shortcuts import render, redirect, reverse
from .forms import LineaForm
from django.http import HttpResponseRedirect
import googlemaps
from datetime import datetime
def lineas(request, template="bustopaplineas.html"):
if request.method == "POST":
form = LineaForm(request.POST)
if form.is_valid():
numero = form.save(commit=False)
linea_numero = str(numero)
return redirect('lineas_detalles', linea_numero=linea_numero)
else:
form = LineaForm()
return render(request, 'bustopapp/lineas.html', {'form': form})
提前致谢。
答案 0 :(得分:0)
您可以检查 Linea 表格是否存在:
Linea.objects.get(numero=input)
如果不是,它会抛出异常