0

作为 Django 的新手,我仍在学习技巧,我的问题不是直接与语法有关,而是最好的方法。

当 url 中没有传递任何值时,你将如何处理类似下面的事情。我得到一个错误。

  cat_id = self.request.GET.get('cat_id', '')
        return Product.objects.filter(category=cat_id)
4

2 回答 2

2
from django.shortcuts import get_object_or_404

cat_id = self.request.GET.get('cat_id', '')

# 404 if the category deosn't exist
category = get_object_or_404(Category, pk=cat_id)

# filter for products based on a known existing category
products = Product.objects.filter(category=category)

在其他情况下,我可能会做这样的事情

if 'cat_id' in self.request.GET:
    cat_id = self.request.GET.get('cat_id')
    # now do stuff with cat_id
于 2013-02-17T19:34:28.487 回答
1

使用 0 作为默认值而不是空字符串。

于 2013-02-17T19:34:06.100 回答