Django值从DateTimeField获得年份

Hat*_*Hat 3 python django

我有一个页面,用户可以搜索其他用户.使用AJAX调用搜索,并使用JSON返回结果,代码如下:

return HttpResponse(json.dumps({'users': list(users.values('first_name', 'last_name', 'gender', 'zip_code__city', 'zip_code__state')) }))
Run Code Online (Sandbox Code Playgroud)

我将用户生日存储在模型中birthday = models.DateTimeField().我想用结果回到生日那一年,但我遇到了麻烦.返回整个日期将起作用,我可以随后解析一年.

当我尝试将'birthday'添加到参数中时values,我得到一个错误,它不是JSON可序列化的.我也尝试了'birthday__year',但是这回复了一个错误,就是没有'year'这样的东西.

如何将DateTimeField放入列表中?

Aar*_*ier 7

建立一个models.py返回年份的方法:

models.py

from django.db import models

class MyModel(models.Model):
  birthday = models.DateTimeField()

  def get_year(self):
    return self.birthday.year
Run Code Online (Sandbox Code Playgroud)

然后从views.py中调用此函数