我在这里学习 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 感兴趣.
