如何在django的嵌入式代码中从另一个具有一对多关系的表中获取主键

时间:2017-04-06 12:28:37

标签: mysql django pythonanywhere

我不确定如何提出这个问题,如果它没有多大意义,请提前道歉。

我正在使用pythonanywhere创建一个基本的博客类型网站,并希望每个用户都有一个个人资料页面。在显示所有帖子列表的页面中,我在

中显示每个帖子的作者
{% for post in posts %}:
    <p>author: {{ post.author }}</p>

假设我的所有网址,视图和模板都很好,如何添加指向该文字的链接,这会导致/accounts/[user's id]

Post模型的作者字段定义为

author = models.ForeignKey('auth.User')

基本上我想要:

<p>author: <a href="{% url 'account_detail' pk=User.pk %}">{{ post.author }}</a></p>

但我不知道如何从post.author获得User.pk。

2 个答案:

答案 0 :(得分:0)

假设你有这个模型:

  

author = models.ForeignKey(&#39;这里有足够的模特)

并且ForeignKey位于名为POST的模型中

用于访问表的id只写:

post.author__pk

顺便说一下,在view.py中执行此操作总是更好:

value = post.objects.values('name', 'author__pk').filter(filter if necessary)

答案 1 :(得分:0)

@Ivan Miljkovic如何解释,这足以取代这行代码:

<p>author: <a href="{% url 'account_detail' pk = post.author.pk %}">{{ post.author }}</a></p>