如何使用Django models ForeignKey?

如何使用Django models ForeignKey?,django,django-models,django-views,Django,Django Models,Django Views,我在表“Posts”中使用了两个ForeignKey来连接表“User”,一个用于用户名,另一个用于图标,如: user = models.ForeignKey(UserInfo, related_name='user_name') icon = models.ForeignKey(UserInfo, related_name='user_icon', null=True) 在我的视图中,我尝试迭代表“Posts”: class AllPosts(View): def get(self

我在表“Posts”中使用了两个ForeignKey来连接表“User”,一个用于用户名,另一个用于图标,如:

user = models.ForeignKey(UserInfo, related_name='user_name')
icon = models.ForeignKey(UserInfo, related_name='user_icon', null=True)
在我的视图中,我尝试迭代表“Posts”:

class AllPosts(View):
    def get(self, request):
        all_posts = Posts.objects.all()
        return render(request, 'community.html', {
            "all_posts":all_posts,
            })
以下是我在模板中迭代的方式:

{% for post in all_posts %}
<div class="post">
    <a href="" class="user_a">
    <img class="icon" src="{{ MEDIA_URL }}{{ post.icon }}">
    <span class="name_span">{{ post.user }}</span>
    </a>
    <span class="time">发表时间:{{ post.add_time }}</span>
    <span class="clicked">回复:{{ post.comment_num }}</span>
    <a href="">
    <img class="post_img" src="{{ MEDIA_URL }}{{ post.image }}">
    <div class="article">
    <h3 class="title">{{ post.title }}</h3>
    <span class="content">&nbsp&nbsp&nbsp&nbsp{{ post.content }}</span>
    </div>
    </a>
</div>
{% endfor %}
{%for post in all_posts%}
发表时间:{{post.add_time}
回复:{{post.comment_num}
{%endfor%}
结果:

<img class="icon" src="/media/None">
<span class="name_span">klawens</span>

克拉文
因此post.user会显示正确的结果,但图标为“无”,我不知道如何使用ForeignKey连接我想要的确切密钥,以及相关的\u名称的确切含义是什么?

“Posts”中的用户字段和图标字段都指向“UserInfo”中的用户名,但我希望Posts图标指向UserInfo图标,如何处理?

使用
{{post.icon.icon}
{post.user.username}
而不是
{post.icon}
{post.user}

模板代码与生成的HTML不匹配。请发布实际代码,而不是假设案例。另外,确保
图标
字段实际上有任何值。当您设置
null=True
时,它完全有可能返回
None
。我编辑了它,“Posts”中的用户字段和图标字段都指向“UserInfo”中的用户名,但我希望Posts图标指向UserInfo图标,如何处理?您的意思是UserInfo类也有图标列吗?例如,如果您的模型关系如下
类Post:icon=ForiegnKey(UserInfo)类UserInfo:icon=CharField()
,您只需执行Post-instance-Post.icon.icon。请添加您的模型