首页 > 解决方案 > 反向相关对象查找 (_set) 未访问对象

问题描述

我正在构建一个 BlogApp,但我遇到了一个问题。我正在尝试访问两个模型对象,但多次失败。

模型.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)

视图.py

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

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

显示的.html

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


{{ post.topic_title }}

{{ post.note }}


{% endfor %}

问题

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

我试过什么

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

我不知道我在这方面做错了什么。

任何帮助,将不胜感激。

先感谢您。

标签: pythonhtmldjangodjango-modelsdjango-views

解决方案


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

所以你可以例如做

{% for entry in showd %}


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

{% endfor %}

推荐阅读