我正在用 Django 写一个网站,我想有两个博客。
对于每个博客,我需要三个变量:一个名称(我在管理部分写帖子时选择的名称 - 我正确理解这是这个选择吗?),一个标题(用于 View ),一个 blog_url (对于网址)。
博客的数量应该是有限的,所以我可以在写帖子时从下拉菜单中选择我的选择。我可以在 an example in the Django reference 之后的标题和 url 之间只用一个来做到这一点- 标题为:
class Post(models.Model):
BLOG_TITLE = (
("Title 1", "first"),
("Title 2", "second"),
)
blog_title = models.CharField(
max_length=20,
choices=BLOG_TITLE,
blank=True)
我想我需要类似的东西
(["Title", "url"], "blog"),
代替
("Title", "blog"),
我应该定义一个 Blog 类并在 Post 中通过 ForeignKey 引用它吗?怎么办?
有什么想法吗?谢谢!
最佳答案
您应该使用外键关系到新模型,例如博客。
例子:
class Blog(models.Model):
title = models.CharField(max_length=20)
url = models.URLField()
class Post(models.Model):
blog = models.ForeignKey(Blog)
访问数据:
post = Post.objects.get(id=1)
post.blog.title
您应该访问模板中的数据。
查看示例:
def postview(request):
return render('template_xyz.html', {'object': Post.objects.get(id=1) }
模板示例:
<h1>{{ object.blog.title }} </h1>
关于python - 我如何有两个字段可供选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26801553/