【发布时间】:2021-05-16 22:46:14
【问题描述】:
我正在构建一个 BlogApp,但遇到了一个问题。我正在尝试访问两个模型对象,但多次失败。
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)
显示.html
{% for post in topic.journel_set.all %}
{{ post.topic_title }}
{{ post.note }}
{% endfor %}
问题
我正在尝试在 showd.html 中访问两个模型的对象。
我尝试了什么
我看到了大量的答案,例如:- This This 和更多关于反向相关对象查找的答案。但是对我没有任何作用。
我不知道我在这方面做错了什么。
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
-
首先,您没有将主题传递到仅显示的上下文中,而且您根本没有发布期刊模型
-
我是否需要将主题传递到上下文中才能访问与其为外键的不同模型的对象?
-
topic.journel_set.all 没有意义,因为上下文中没有设置主题。 showd.topic.journel_set.all 会有些道理,但您没有发布 Journel 对象。而是解释你到底想要实现什么并做什么stackoverflow.com/help/minimal-reproducible-example
-
我错误地发布了 Journel 对象。
-
我在上下文中通过了
topic并输入了{% for post in showd.topic.journel_set.all %}但它没有用。
标签: python html django django-models django-views