Мой проект список покупок. У меня есть две модели: 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 (где "XXXX")
Моя идея состоит в том, чтобы вырезать последнюю часть URL (например, когда я вхожу в список № 2, у меня есть адрес http://127.0.0.1:8000/ListDetails/2
) и замените «XXXX» такой функцией.
На мой взгляд, это должно выглядеть следующим образом:
queryset = ShoppingItem.objects.filter(list = int(request.path.split('/')[-1])
, если есть лучший способ сделать это, я буду благодарен всем предложениям