python - 我如何有两个字段可供选择?

标签 python django

我正在用 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/

相关文章:

python - djangorest框架-外键字段是只读的

python - Django Rest-auth 身份验证仅适用于 super 用户。在其他情况下,我得到 - 无法使用提供的凭据登录

python - 如何使用dockerfile在python脚本中设置环境变量?

python - 无法让 matplotlib/numpy 工作

python - 语法错误: unexpected EOF while parsing in ast.py while converting text into list of tuples

android - 使用 MultipartEntity 构建 POST 请求

python - 如何在 Django 中设置 id 标签等于 URL 名称

python - 无法导入 python 扩展

python - 如何确定Python中的数据类型?

django - dreamhost python3 Django乘客设置导入Cookie