Python Django将外键从ListView传递到Detailview

Python Django将外键从ListView传递到Detailview,python,django-models,sqlite,django-templates,django-views,Python,Django Models,Sqlite,Django Templates,Django Views,关于Django的观点,我有些不太了解。我的站点将有一个表,表上有不同的作业或负载。这称为负载板。这引用了一个名为Loadboard_table的数据库表。Loadboard_表包含数据库中Company_表的外键。此数据库表包含分配此作业/负载的公司以及该公司的其他信息 目标是让用户点击装载板上的任何一行,这会将用户带到公司的“详细信息”页面。我已经在下面展示了代码的一个浓缩部分,以避免对这个问题产生膨胀 表索引上的行项目 <!-- this is where I grab my Com

关于Django的观点,我有些不太了解。我的站点将有一个表,表上有不同的作业或负载。这称为负载板。这引用了一个名为Loadboard_table的数据库表。Loadboard_表包含数据库中Company_表的外键。此数据库表包含分配此作业/负载的公司以及该公司的其他信息

目标是让用户点击装载板上的任何一行,这会将用户带到公司的“详细信息”页面。我已经在下面展示了代码的一个浓缩部分,以避免对这个问题产生膨胀

表索引上的行项目

<!-- this is where I grab my Company table foreign key by clicking on one of the loadboard items -->
<td>
 <a href="{% url 'loadboard:detail' item.CompanyName_id %}">   {{item.CompanyName}}</a>
</td>
detail.html

<!-- I want this detail page to show the Company that the loadboard's foreign key references -->
<head>
    <title>{% block title %}{{Company_table.CompanyName}}'s loadboard{% endblock %}</title>
</head>

{%block title%}{{Company_table.CompanyName}}的装载板{%endblock%}

非常感谢你的帮助

我找到了一种不使用DetailView类实现目标的方法。我只是做了一个函数来处理HTTP请求并从url中获取CompanyId。我认为DetailsView类用于更具体的情况

当用户单击时:

<td>
<a href="{% url 'loadboard:detail' item.CompanyName_id %}">{{item.CompanyName}}</a>
</td>
使用views.py上的函数:

def ViewCompanyDetails(request, CompanyId):
    CompanyObject = Company_table.objects.get(id = CompanyId)
    context = {'Company': CompanyObject}
    return render(request, 'loadboard/detail.html', context)
这实现了我的目标,即尝试从用户单击表的位置传递公司id,并将其一直传递到视图页面,然后获取HTML页面

对于泛型模型中的DetailsView类,我可能是错的,因为它对主键太特殊了,但是有人可以纠正我的错误

<td>
<a href="{% url 'loadboard:detail' item.CompanyName_id %}">{{item.CompanyName}}</a>
</td>
url(r'^([0-9]+)/$', views.ViewCompanyDetails, name='detail')
def ViewCompanyDetails(request, CompanyId):
    CompanyObject = Company_table.objects.get(id = CompanyId)
    context = {'Company': CompanyObject}
    return render(request, 'loadboard/detail.html', context)