显示引用另一个模型的对象列表
Posted
技术标签:
【中文标题】显示引用另一个模型的对象列表【英文标题】:Show list of objects which have a reference to another model 【发布时间】:2015-09-14 05:36:30 【问题描述】:我正在尝试制作一个简单的 django 应用程序,该应用程序将在主页上显示论坛列表,当用户单击论坛标题时将被带到属于该论坛的帖子
这是post模型的代码:
class Post(models.Model):
author = models.ForeignKey('auth.User')
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)
forum = models.ForeignKey('Forum') # referinta la Forum
upload = models.FileField("Upload a file", upload_to = 'media', null=True, blank=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
以及论坛模型的代码:
class Forum(models.Model):
title = models.CharField(max_length=200)
published_date = models.DateTimeField(blank=True, null=True)
def __str__(self):
return self.title
views.py 中的代码:
def forum_list(request):
forums= Forum.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'students_platform/post_list.html', 'forums': forums)
def post_list(request):
posts=Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'students_platform/post_list.html', 'posts': posts)
最后,我有一个 post_list.html 文件,如下所示:
<html>
<head>
<title>Informatii despre examene</title>
</head>
<body>
<div>
<h1> Informatii despre examene</h1>
<h2> Bine ati venit! </h2>
</div>
% for forum in forums %
<div>
<h1><a href=""> forum.title </a></h1>
<p> forum.text|linebreaks </p>
</div>
% endfor %
</body>
</html>
如何编辑 html 文件,以便每次单击论坛标题时都可以将我带到添加到该论坛的帖子?
【问题讨论】:
在您的模板中,您需要在 href="" 中添加论坛的网址,请参阅:***.com/questions/1777612/… @joelgoldstick 我认为她的意思是管理员的网址 【参考方案1】:添加到您的 PostModelAdmin list_filter = ('forum',)
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter
<a href="% url 'admin:yourappname_post_changelist' %?forum__id__exact= forum.id "> forum.title </a>
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#reversing-admin-urls
【讨论】:
以上是关于显示引用另一个模型的对象列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Django 在 HTML 中显示多个对象的列表,一个在另一个之下?