Python Django值从DateTimeField获取年份
我有一个页面,用户可以在其中搜索其他用户。使用AJAX调用搜索,结果使用JSON返回,代码如下:Python Django值从DateTimeField获取年份,python,django,Python,Django,我有一个页面,用户可以在其中搜索其他用户。使用AJAX调用搜索,结果使用JSON返回,代码如下: return HttpResponse(json.dumps({'users': list(users.values('first_name', 'last_name', 'gender', 'zip_code__city', 'zip_code__state')) })) 我将用户的生日存储在带有生日=models.DateTimeField()的模型中。我试图在生日的那一年返回结果,但我遇到了
return HttpResponse(json.dumps({'users': list(users.values('first_name', 'last_name', 'gender', 'zip_code__city', 'zip_code__state')) }))
我将用户的生日存储在带有生日=models.DateTimeField()
的模型中。我试图在生日的那一年返回结果,但我遇到了麻烦。返回整个日期会很有效,因为我总是可以在一年后解析出来
当我尝试在values
中的参数中添加“birthday”时,我得到一个错误,即它不可JSON序列化。我还尝试了“生日年”,但返回了一个错误,即没有“年”
如何将DateTime字段放入列表中?构建一个
models.py
方法以返回年份:
型号.py
from django.db import models
class MyModel(models.Model):
birthday = models.DateTimeField()
def get_year(self):
return self.birthday.year
然后从您的视图调用此函数。py您不能像这样设置动态默认值,也不应该真的需要将其存储在数据库中
from django.db import models
class MyModel(models.Model):
birthday = models.DateTimeField()
def get_year(self):
return self.birthday.year
只要把它变成一个属性(甚至可能是缓存的属性)