函数对象没有属性' entry_set'

时间:2017-02-18 13:36:50

标签: django

enter image description here

enter image description here

关于Django的一些事情 就像照片展示一样 我不知道为什么会有AttributeError

from django.shortcuts import render
from .models import Topic
def topic(request, topic_id):
   topics = Topic.objects.get(id=topic_id)
   entries = topic.entry_set.order_by('-date_added')
   context = {'topic': topic, 'entries': entries}
return render(request, 'learning_logs/topic.html', context)

2 个答案:

答案 0 :(得分:1)

问题可能出在您的主题功能中。您将一个主题分配给topics变量,然后尝试从名为topic的变量而不是topics获取一个entry_set。由于您只获得了一个主题,因此将topics变量更改为单数topic会更有意义:

def topic(request, topic_id):
   topic = Topic.objects.get(id=topic_id)
   entries = topic.entry_set.order_by('-date_added')
   context = {'topic': topic, 'entries': entries}
   return render(request, 'learning_logs/topic.html', context)

答案 1 :(得分:0)

您具有模型主题和条目,并且主题与通过外键进行的条目相关。

然后您可以使用“ topic.entry_set.order_by('-date_added')”获得条目

仅供参考:entry_set is XXX_set.all() XXX表示输入模型。