反向相关对象查找 (_set) 未访问对象

时间:2021-02-13 11:15:13

标签: python html django django-models django-views

我正在构建一个博客应用程序,但我遇到了一个问题。我试图访问两个模型对象,但多次失败。

models.py

class Topic(models.Model):
    topic_no = models.CharField(max_length=100,default='')  
    topic_title = models.CharField(max_length=200,default='')
    date_added = models.DateTimeField(auto_now_add=True)
    owner = models.ForeignKey(Profile,on_delete=models.CASCADE,null=True)

    def __str__(self):
        return self.dairy_title

class Entry(models.Model):
    topic = models.ForeignKey(Topic, on_delete=models.CASCADE,default='',related_name='topic')
    date_added = models.DateTimeField(auto_now_add=True,null=True)
    updated = models.DateTimeField(auto_now=True)
    note = models.TextField()

    def __str__(self):
        return str(self.topic)

views.py

def show_entry(request):
    showd = Entry.objects.all()

    context = {'showd':showd}
    return render(request ,'mains/showd.html', context)

showd.html

{% for post in topic.journel_set.all %}


{{ post.topic_title }}

{{ post.note }}


{% endfor %}

问题

我正在尝试访问 showd.html 中的两个模型对象。

我尝试了什么

我看到了大量的答案,例如:- This This 以及有关反向相关对象查找的更多答案。但没有什么对我有用。

我不知道我做错了什么。

任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:-1)

EntryForeignKeyTopic 它是不是反向访问器,所以 Entry 只有一个 Topic

例如你可以这样做

{% for entry in showd %}


    {{ entry.topic.topic_title }}
    
    {{ entry.note }}

{% endfor %}