【问题标题】:django: filtering on undefined number of optionsdjango:过滤未定义数量的选项
【发布时间】:2010-11-01 15:36:21
【问题描述】:

我正在尝试处理为视图提供的未定义数量的过滤选项(在发布请求中)。

例如,如果我们有一个视图:

def get_posts_by_category(请求): 打印请求.POST

if request.POST:
    categories = [Categories.objects\
                  .get(cat=item) for item in request.POST["category"].split(",")[:-1]]

因此 view 需要一个类别列表,其中可以包含 1 - n 个项目。

有人可以建议我如何获取所有文章,以及我从 POST 获得的类别吗?

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:
    Article.objects.filter(category__in=request.POST.getlist('category'))
    

    【讨论】:

    • 有点题外话:在查询中直接使用 POST 变量不会带来安全风险吗?
    • 不,所有内容在发送到数据库之前都会自动转义,因此没有查询注入的风险。
    猜你喜欢
    • 2017-12-06
    • 2016-01-23
    • 2021-08-05
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2016-07-01
    • 2017-10-03
    • 1970-01-01
    相关资源
    最近更新 更多