2017-08-22 134 views
0

這似乎很簡單..我有一個Restaurant模型和Recipe模型,我想要的是能夠查找所有Recipes由某個Restaurant。我現在用的是向後經理FOO_set和似乎無法使其工作:外鍵向後經理不工作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}) 

當我運行此我得到的dashboard異常視圖。看看我的數據庫user.restaurant對象有與之相關的食譜。如果我只是做recipe_list = user.restaurant它返回餐廳對象。就在我添加recipe_set時失敗。還試過recipe_set.allall()。我已經遷移了一切。 Django的1.11

+0

總是包含錯誤的完整追蹤你的問題 –

回答

2

設置related_name,所以你需要使用它: 取代:

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

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