【BUG】【Python】【Django】Django的迁移系统无法序列化lambda函数
·
BUG
class VerificationCode(models.Model):
"""验证码模型"""
expires_at = models.DateTimeField(
default=lambda: datetime.datetime.now() + datetime.timedelta(minutes=10)) # 10分钟有效期
报错:ValueError: Cannot serialize function: lambda。
DEBUG
原因:Django的迁移系统无法序列化lambda函数。
改成下述方式:
class VerificationCode(models.Model):
"""验证码模型"""
def get_expires_at(self):
return datetime.datetime.now() + datetime.timedelta(minutes=10) # 10分钟有效期
expires_at = models.DateTimeField(default=get_expires_at)
后续会报self参数问题,还是直接把get_expires_at函数调到类外吧:
更多推荐


所有评论(0)