Ich habe eine einfache Suche in meinem Django-Projekt. Ich möchte Dokumente mit ihrem Typ und einem Teil der Fabrikinformationen durchsuchen und zusätzlich nach Namen suchen. Hier ist meine models.py:NameError in Django einfache Suche
class Docs(models.Model):
Date = models.DateField(default=date.today)
Name = models.CharField(max_length=50)
Type = models.ForeignKey(DocTypes)
Part = models.ForeignKey(Parts)
Link = models.FileField(upload_to='Docs/%Y/%m/%d')
class Parts(models.Model):
Name = models.CharField(max_length=50)
def __str__(self):
return str(self.Name)
class DocTypes(models.Model):
Type = models.CharField(max_length=50)
def __str__(self):
return str(self.Type)
Mein forms.py:
class DocsSearchForm(ModelForm):
class Meta:
model = Docs
fields = [ 'Name', 'Type', 'Part']
Und das ist ein Teil meiner views.py wurde, wenn keine Suche dann alles getan Dokumente sind gegeben
def showdocs(request):
if request.method == 'POST':
form = DocsSearchForm(request.POST)
documents = Docs.objects.filter(Name__contains=request.POST['Name']|
Type==request.POST['Type']|
Part==request.POST['Part'])
else:
form = DocsSearchForm()
documents = Docs.objects.all()
return render(
request,
'showdocs.html',
{'documents': documents, 'form':form}
Also, das Problem ist die fol lowing: Wenn ich versuche, eine Suche zu verwenden, dann habe ich NameError at/showdocs Name 'Typ' ist nicht definiert. POST-Werte sind: Teil '1', Name 'Beispiel', Typ '1'.
Wenn ich
Type==request.POST['Type']|
Part==request.POST['Part']
dann nach Namen gut funktioniert Suche löschen. Ich vermute also, dass es bei diesem Problem darum geht, nach Fremdschlüsselwerten zu suchen, aber keine Ideen mehr haben. Ich werde jede Hilfe zu schätzen wissen.