【发布时间】:2020-07-30 03:24:39
【问题描述】:
我的项目是一个购物清单。我有两个模型: ShoppingList 和 ShoppingItem 像这样:
models.py
class ShoppingItem (Model):
name = models.CharField(max_length=50, null=False)
count = models.IntegerField(null=False)
list = models.ForeignKey(ShoppingList, on_delete=models.CASCADE, related_name='shopping_items')
date_created = models.DateTimeField(auto_now_add=True)
urls.py
urlpatterns = [
path('ListDetails/<int:pk>', views.ListDetailUpdateView.as_view(), name='listdetailupdate'),
]
views.py
class ListDetailUpdateView(ListView):
model = ShoppingItem
template_name = 'xlist_app/ListDetailUpdateView.html'
context_object_name = 'products'
queryset = ShoppingItem.objects.filter(list = XXXX)
我需要返回部分 url 但在 ListView(where"XXXX") 内的函数
我的想法是剪掉 url 的最后一部分(例如,当我输入列表编号 2 时,我的地址为 http://127.0.0.1:8000/ListDetails/2)并用这样的函数替换“XXXX”。
在我看来应该是这样的:
queryset = ShoppingItem.objects.filter(list = int(request.path.split('/')[-1])
如果有更好的方法,我会感谢所有的建议
【问题讨论】:
-
您是否为此视图定义了任何 urlpatterns?
-
@IvanStarostin 我有这个:path('ListDetails/
', views.ListDetailUpdateView.as_view(), name='listdetailupdate'),
标签: python django django-urls