Python Django:我如何访问和显示单曲的详细信息;“儿童”;在一对多的关系中?

Python Django:我如何访问和显示单曲的详细信息;“儿童”;在一对多的关系中?,python,django,Python,Django,我有两个模型-公司和部门。该公司可以有许多部门-这是所有与外键和预期的工作。我有很好的URL和模板/视图设置,我可以添加公司,然后我可以添加部门。我还能够访问和创建新的部门,并将其分配给公司 例如,我在系统中使用的最后5家公司和最后5个部门: class IndexView(generic.ListView): model = Company template_name = 'company/index.html' context_object_name = 'l

我有两个模型-公司和部门。该公司可以有许多部门-这是所有与外键和预期的工作。我有很好的URL和模板/视图设置,我可以添加公司,然后我可以添加部门。我还能够访问和创建新的部门,并将其分配给公司

例如,我在系统中使用的最后5家公司和最后5个部门:

    class IndexView(generic.ListView):
    model = Company
    template_name = 'company/index.html'
    context_object_name = 'latest_company_list'

    def get_queryset(self):
        """Return the last five created companies."""
        return Company.objects.order_by('company_name')[:5]

class DeptIndexView(generic.ListView):
    model = Department
    template_name = 'department/index.html'
    context_object_name = 'latest_department_list'

    def get_queryset(self):
        """Return the last five created companies."""
        return Department.objects.order_by('dept_name')[:5]


下面是models.py中的模型

class Company(models.Model):
    company_name = models.CharField(max_length=200)
    company_dba = models.CharField(max_length=200)

    class Meta:
        verbose_name_plural = "companies"

    def __str__(self):
        return self.company_name

    # on submit click on the company entry page, it redirects to the url below.
    def get_absolute_url(self):
        return reverse('company:index')


class Department(models.Model):
    company = models.ForeignKey(Company, on_delete=models.CASCADE)
    dept_name = models.CharField(max_length=200)
    dept_code = models.IntegerField(default=0)

    def __str__(self):
        return self.dept_name

    # on submit click on the department entry page, it redirects to the url below.
    def get_absolute_url(self):
        return reverse('company:index')
我的url.py文件如下所示

app_name = 'company'
urlpatterns = [
    # Company management views
    path('', views.IndexView.as_view(), name='index'),
    path('<int:pk>/', views.DetailView.as_view(), name='detail'),
    path('add/', views.CompanyEntry.as_view(), name='add'),
    path('update/<int:pk>/', views.CompanyUpdate.as_view(), name='update'),
    path('delete/<int:pk>/', views.CompanyDelete.as_view(), name='delete'),

    #Department management views
    path('<int:pk>/department/', views.DeptIndexView.as_view(), name='dept_index'),
    path('<int:pk>/department/add/', views.DeptEntry.as_view(), name='dept_add'),
    path('<int:pk>/department/<int:fk>/', views.DeptDetailView, name='dept_detail'),
]
app_name='company'
URL模式=[
#公司管理层意见
路径(“”,views.IndexView.as_view(),name='index'),
路径('/',views.DetailView.as_view(),name='detail'),
路径('add/',views.CompanyEntry.as_view(),name='add'),
路径('update/',views.CompanyUpdate.as_view(),name='update'),
路径('delete/',views.CompanyDelete.as_view(),name='delete'),
#部门管理意见
路径('/department/',views.DeptIndexView.as_view(),name='dept_index'),
路径('/department/add/',views.DeptEntry.as_view(),name='dept_add'),
路径('/department/',views.DeptDetailView,name='dept_detail'),
]
这里的问题是,我不知道如何配置URL/路径,以便访问单个部门的详细信息

我正试图得到一些东西,比如2是部门模型的id

上面代码的最后一行似乎不起作用

相反,我认为这是一个错误:

位于/company/1/department/2的类型错误/

init()接受1个位置参数,但给出了2个

请求方法:获取 请求URL: Django版本:2.2.4 异常类型:TypeError 异常值:

init()接受1个位置参数,但给出了2个


异常位置:/Users/ABC/DjangoHR/lib/python3.7/site-packages/django/core/handlers/base.py在_get_response,第113行

我找到了它-我错过了。as_view()

path('/department/',views.DeptDetailView.as_view(),name='dept_detail'),

谢谢大家的帮助和评论

我明白了-我错过了

path('/department/',views.DeptDetailView.as_view(),name='dept_detail'),

谢谢大家的帮助和评论

这是您的urlconf:
/department/
中的输入错误吗?
int:fk/
中的斜杠可能不在
定义范围内?是的,你是对的,我修复了它,现在我得到了不同的错误,我将更新问题
get\u absolute\u url
,因为
班级部门
有打字错误,应该是
返回反向('company:dept\u detail')
谢谢,谢谢你的接球!这是您的urlconf:
/department/
中的输入错误吗?
int:fk/
中的斜杠可能不在
定义范围内?是的,你是对的,我修复了它,现在我得到了不同的错误,我将更新问题
get\u absolute\u url
,因为
班级部门
有打字错误,应该是
返回反向('company:dept\u detail')
谢谢,谢谢你的接球!
path('<int:pk>/department/<int:fk>/', views.DeptDetailView.as_view(), name='dept_detail'),