Выбор связанных внешних клавиш в Django

#django #django-models #django-orm

#django #django-модели #django-orm

Вопрос:

Допустим, у меня есть две модели: Article и Category:

 class Article(models.Model):
    category = models.ForeignKey(Category, related_name='articles')

class Category(models.Model):
    ...
  

Когда я запускаю Category.objects.select_related() , ORM не выбирает статьи. Я понимаю, что это из-за того, как внешняя клавиша перетасовывается, но я не уверен, как это сделать. Есть идеи?

Ответ №1:

Вот что я в итоге сделал по совету добрых людей из #django:

 articles = Article.objects.select_related()
categories = {}

for article in articles:
    if not categories.get(article.category, None):
        categories[article.section] = []
    categories[article.category].append(article)