Ich habe zwei Modelle in meinem Django-ProjektDjango SQL __str__ zu reduzieren fragt
class BookSerie(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
class BookVolume(models.Model):
isbn = models.CharField(max_length=17)
volumeNumber = models.PositiveIntegerField()
serie = models.ForeignKey(BookSerie)
def __str__(self):
return self.serie.title+" volume "+str(self.volumeNumber)+" - "+str(self.isbn)
Ich verwende nur __ str __ für mein Admin-Panel, aber wenn ich diesen Code in meiner Ansicht verwenden (serie mit id = 1 haben 5 Band):
def serieDetails(request, title):
try:
seriequery = BookSerie.objects.get(slug=title)
BookVolume.objects.filter(serie=seriequery).order_by('volumeNumber')
except BookSerie.DoesNotExist:
raise Http404("Serie does not exist")
return render(request, 'book/serieDetails.html', {'serie': seriequery, 'volumes' : volumesquery})
ich habe eine wichtige Frage:
Abfrage SELECT ••• FROM "book_bookserie" WHERE "book_bookserie" "id" = '1' 5-mal durchgeführt wird (Debug-Toolbar django geben. diese Codezeile return self.serie.title +“Lautstärke "+ str (self.volumeNumber) +" - "+ str (self.isbn)
Abfrage SELECT ••• FROM "book_bookvolume" WHERE "book_bookvolume"" serie_id. "= '1' ORDER BY "book_bookvolume"." Volume“ASC ausgeführt wird 2 mal
Vielen Dank! Sie haben mein Problem mit __ str __ gelöst, aber ich habe immer noch Probleme mit der zweiten Abfrage. – Punyama