J'ai utilisé le processeur de gabarit en utilisant la relation suivante. Dans le shell il fonctionne bien, mais dans la vue je une erreur:Les relations suivantes "en arrière" dans le processeur de contexte
modèle'ParentCategory' object has no attribute 'postpages_set'
(un peu plus simple que l'original)
class ParentCategory(models.Model):
category = models.CharField(max_length = 150)
class PostPages(models.Model):
parent_category = models.ForeignKey('ParentCategory',
blank = True,
null = True,
related_name = "parent_category")
title = models.CharField(max_length = 150)
text = models.TextField()
contexte processeur
from shivablog.shivaapp.models import ParentCategory
def menu_items(request):
output_categories = {}
category_list = ParentCategory.objects.all()
for category in category_list:
output_categories[category] = category.postpages_set.all()
return {'output_categories': output_categories}
dans le shell:
>>> output = {}
>>> cat_list = ParentCategory.objects.all()
>>> for cat in cat_list:
... output[cat] = cat.postpages_set.all()
...
>>> output
{<ParentCategory: category#1>: [<PostPages: Post 1>, <PostPages: post 2>], <ParentCategory: category #2>: [], <ParentCategory: category #3>: []}
Ce qui se passe faux? Quelle différence entre shell et vue de cette manière?
Merci vous, je l'ai fait beaucoup plus propre avec ton conseil. Pour plus d'informations, j'ai utilisé votre blog. C'est assez expliqué en détail. – I159