Я использую Django-nonrel в Google App Engine и имею следующие модели (они упрощены).
class Author(models.Model):
name = models.CharField()
class Book(models.Model):
author = models.ForeignKey(Author)
title = models.CharField()
Итак, если я запрошу вот так,
books = Book.objects.all()
и передайте книги в шаблон и отобразите их, как показано ниже,
<ul>
{% for book in books %}
<li>{{ book.title }}{{ book.author.name }}</li>
{% endfor %}
</ul>
Я вижу кучу datastore.get в AppStats из-за book.author.name. Я думал, что должен использовать select_related() при запросе книг, но, очевидно, django nonrel не поддерживает, поскольку в Google App Engine нет JOIN.
Может ли кто-нибудь научить меня, как мне действовать в таком сценарии? Должен ли я рассмотреть вопрос о денормализации моих моделей? Буду признателен, если расскажете, как вы с ним работаете.
Спасибо, Ю