我有兩個型號在我的Django項目Django的__str__減少SQL查詢
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)
我只用__海峽__我的管理面板,但是當我在我看來,使用此代碼(系列與ID = 1有5個卷):
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})
我有一個重要的問題:
查詢SELECT•••從執行 「book_bookserie」, 「ID」= '1' 的5倍(Django的調試工具欄給予 「book_bookserie」。此代碼行返回self.serie.title +」音量 「+ STR(self.volumeNumber)+」 - 「+ STR(self.isbn)
查詢 SELECT•••FROM 」book_bookvolume「 WHERE 」book_bookvolume「」 serie_id。 「= '1' ORDER BY 」book_bookvolume「。」 volumeNumber」 ASC 進行2次
謝謝! 您使用__ str __解決了我的問題,但第二個查詢仍然存在問題。 – Punyama