Tôi có một mô hình cuốn sách và một mô hình đánh giá,Django SQL truy vấn lặp lại n lần
class Book(models.Model):
title = models.CharField(max_length=255)
slug = AutoSlugField(unique=True, populate_from='title')
description = models.TextField()
# more fields
class Rating(models.Model):
book = models.ForeignKey('library.Book')
score = models.DecimalField(max_digits=2, decimal_places=1)
Query,
books = {'books': Book.objects.filter(pk__in=Rating.objects.all().order_by('-score'
).values_list('book__id', flat=True))[:10] }
mẫu,
{% for i in books %}
{{ i.title }}, {{ i.rating_set.all.first.score }} <br/>
{% endfor %}
ám chỉ rằng mô hình để các mẫu, nhưng thanh công cụ gỡ lỗi django hiển thị dưới dạng n lần trùng lặp trong đó n là số đối tượng trong danh sách. khi tôi sử dụng bộ nhớ đệm truy vấn, bình thường của nó.
những gì đang xảy ra phía sau, làm cách nào để khắc phục sự cố này?
cảm ơn.
không có gì thay đổi, điều gì đó đã xảy ra khi mẫu ở phần '{{i.rating_set.all.first.score}}' – Rivadiz
làm cách nào để khắc phục sự cố này? – Rivadiz
đã thay đổi 'đầu tiên' thành' 0' và bây giờ không sao – Rivadiz