我已经被这个错误困扰了很长一段时间了,我只是不知道这意味着什么。当我尝试将对象保存到我的 mysql 数据库时会发生这种情况。有任何想法吗?
谢谢您的帮助!
我已经被这个错误困扰了很长一段时间了,我只是不知道这意味着什么。当我尝试将对象保存到我的 mysql 数据库时会发生这种情况。有任何想法吗?
谢谢您的帮助!
刚刚遇到同样的问题并解决了。我实例化了一个这样的表单:
data = {'date' : datetime.now} #this is the problem
form = MyForm(data)
该表单稍后保存,django 尝试在模型中设置“日期”。但是 datetime.now 显然是指一个函数而不是一个日期。我想做的是datetime.now()
也许这有助于将来遇到这个问题的任何人。
这可能意味着 Python 正在尝试执行需要某种数据类型(bool、string、int 等)的代码,但提供了另一种不正确的数据类型。
在我的情况下,当我使用“时间”库将日期字符串转换为日期时间对象时出现。我只是使用“datetime.strptime”而不是“time.strptime”并且问题消失了。
django 中的日期时间验证器在文件中:
/path/to/project/venv/lib/python2.7/site-packages/django/utils/dateparse.py
或在您当前的 python 解释器的站点包中。
看看那里以查看正则表达式。就我而言,解决它的方法是:
ended=datetime.fromtimestamp(time.time())
other=datetime.fromtimestamp(time.time())
# in the model:
ended = models.DateTimeField(blank=True, null=True) # or
other = models.DateTimeField(auto_now_add=False, blank=True)
两者都工作。
“过期”是这个字段
expiration = models.DateTimeField(default=7)
有错误的代码是这样的:
ex = timedelta(minutes=expiration)
authobj, created = cls.objects.update_or_create(
operator=operator,
defaults={'transport':transport,'token':cls.generate_key(40),'expiration':ex}
)
它是通过这样设置来解决的(而不是timedelta,一个日期)
ex = datetime.now() + timedelta(minutes=expiration)
authobj, created = cls.objects.update_or_create(
operator=operator,
defaults={'transport':transport,'token':cls.generate_key(40),'expiration':ex}
)
str(yourvar)
我们可以转换 sting 你的变量。