Skip to main content
 首页 » 编程设计

python之Django 如何命名过滤器参数名称

2025年05月04日23sky-heaven

我在这里学习 Django 教程 https://docs.djangoproject.com/en/1.8/intro/tutorial01/ .我遇到过 filter 和 get 函数。我对为什么这是有效的感到困惑:

Question.objects.get(pub_date__year=current_year) 

我知道我在问题模型中定义了 pub_date,但是 pub_date__year 是如何创建的?

请您参考如下方法:

基本上,filter(以及其他 Django 和 Python 函数)可以采用任意数量的任意命名的关键字参数或 kwargs,Django 只需解析您传递的这些 kwargs。

Django 在其 models.QuerySet object 中定义了这个功能。 .您可能还对 QuerySet source code 感兴趣.

请参阅 Django 文档 here ,以及有关此功能的引用 Python 文档 here .