gpt4 book ai didi

python - Django 如何知道在 urls.py 中使用什么 'pk' ?

转载 作者:行者123 更新时间:2023-11-30 22:59:11 24 4
gpt4 key购买 nike

过去几周我一直在学习 Django,有件事似乎确实让我感到困惑。 Django 使用哪个模型的属性来定义 <pk>用于urls.py

例如,如果我有:

urlpatterns = [
url(r'^(?P<pk>\d+)/$', ProductDetailView.as_view(), name="product-detail"),
]

我之前假设 pk将从给定 View 中使用的模型实例派生,在本例中为 ProductDetailView.as_view() 。然而,我开始质疑这个逻辑,因为当然,您可以将多个模型传递到 View 中。

第 2 部分

另外,如果我想使用 pk 该怎么办?一个模型实例,而在 View 中使用不同模型实例?

例如,如果我有两个模型 Products 怎么办? & Stores它们都保持多对多关系(例如,一个产品可以在多个商店中,并且一个商店可以保存许多产品)。然后我想要一个url我在哪里有 StoreListView列出拥有给定产品的所有商店,因此我的网址将类似于:

url(r'^(?P<pk>\d+)/$', StoreListView.as_view(), name="store-list")

哪里 pk属于Product实例但是 view属于Store实例

为了最后解决这个问题,Django 是如何定义 pk 的? ?

最佳答案

Django 没有定义任何东西。你定义它。 ProductDetailView必须有一个model属性;该属性定义了要使用的模型。

不幸的是,你问题的第二部分并没有真正意义; View 不是模型的实例。

关于python - Django 如何知道在 urls.py 中使用什么 'pk' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35853898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com