2017-08-22 2 views
0

Cela semble simple .. J'ai un modèle Restaurant et Recipe modèle, tout ce que je veux est de pouvoir rechercher tous les Recipes par un certain Restaurant. J'utilise le gestionnaire arrière FOO_set et cant semblent pour le faire fonctionner:foreignkey gestionnaire de retour ne fonctionne pas django

models.py

class Restaurant(models.Model): 
    restaurant_user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='restaurant') 

class Recipe(models.Model): 
    restaurant = models.ForeignKey(Restaurant, on_delete=models.CASCADE, related_name='recipe') 

views.py

def dashboard(request): 
    user = request.user 
    try: 
     user.restaurant 
     recipe_list = user.restaurant.recipe_set 
     return render(request, 'usermanage/dashboard_restaurant.html',{'recipe_list':recipe_list}) 

Quand je lance ce que je reçois une exception dans le dashboard vue. En regardant ma base de données, l'objet user.restaurant a des recettes qui lui sont associées. Si je fais juste recipe_list = user.restaurant il retourne l'objet du restaurant. Juste quand j'ajoute recipe_set il échoue. Également essayé recipe_set.all et all(). J'ai tout migré. Django 1.11

+0

comprennent toujours le plein retraçage de l'erreur dans votre question –

Répondre

2

vous définissez related_name donc vous devez utiliser: remplacerons:

recipe_list = user.restaurant.recipe_set 
#         ^^^^^ 

à

recipe_list = user.restaurant.recipe.all() 
#        ^^^^^^