Models.pyKombination QuerySets auf einer gemeinsam genutzten Spalte basiert - django
class sells(models.Model):
#unimportant stuff here
type = ...
supplier = ...
user = ...
item_id = models.AutoField(primary_key=True)
class sale_items(models.Model):
item_id = models.OnetoOneField(sells, on_delete=models.CASCADE, null=True)
item_name = ...
description = ...
#other unimportant stuff
Also, ich versuche die Suche zu implementieren und jetzt habe ich es so, dass alle neuen Informationen in sale_items gefunden kehrt wie Name und Beschreibung. Aber ich muss auch einen Artikeltyp und einen Lieferanten ausgeben, der sich im Verkaufsmodell befindet. Im Grunde versuche ich, so etwas zu tun:
SELECT A.item_id, A.item_name ... B.type, B.supplier ...
FROM sale_items A, sells B
WHERE A.item_id = B.item_id
Views.py
def SearchView(request):
query_results = sale_items.objects.filter(Q(item_name__icontains=search)
Q(description__icontains=search))
return render(request, 'db/search_results.html', {'query_results':query_results})
ich den Code für die Variable Suche nicht enthalten, aber es ist der Text, der in der eingegebenen Suchleiste. query_results ist korrekt und in meiner Vorlage (search_results.html) verwende ich eine for-Schleife, um den Namen und die Beschreibung des Artikels auszudrucken.
Ich möchte die Informationen auch in das Verkaufsmodell aufnehmen, das der gleichen item_id entspricht. Ich habe viele verschiedene Dinge versucht, um es zum Laufen zu bringen und kann es nicht herausfinden.
Die Art und Lieferant/Benutzer sind mit der Suche nicht verwandt. Die Suche gibt Elemente basierend auf Name und Beschreibung zurück. Jeder Artikel hat eine ID, die in sells und sale_items enthalten ist. Also muss ich diese ID verwenden, um entsprechende Informationen von beiden Modellen zu erhalten. – Chris