python - Django 中的日期时间问题

标签 python django datetime postgresql

我正在尝试添加一个人的日期时间对象。每当出生年份小于 1942 年时,从数据库读取数据时,我都会收到一个奇怪的错误 DataError: unable to parse time

class Person(models.Model):
    """A simple class to hold the person info
    """
    name = models.CharField(max_length=100)
    born = models.DateTimeField(blank=True, null=True)

每当我尝试添加出生于 1929 年的人的出生 datetime 对象然后尝试读取它时,它都会失败。

让我重申一下,数据插入工作正常,但在读取过程中失败了。我假设数据库内部发生了一些错误。

我做了一组测试,发现每当我添加 1940 年或之前出生的人时它都会失败。它给出 DataError: unable to parse time

我正在使用 PostgreSQL。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

我在这里唯一能想到的可以在 PostgreSQL docs 中找到.我的猜测是 Django 将您的日期存储在“reltime”字段中,该字段只能追溯到 68 年前。我的计算器验证 2009-68 == 1941,这似乎与您报告的非常接近。

我建议您通过运行以下命令查看表的架构:

$ python manage.py sql appname

看看有问题的日期字段是否是我怀疑的“reltime”字段。如果是这种情况,我不知道如何将其更改为更兼容的字段而又不会弄乱一切。

关于python - Django 中的日期时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/858470/

相关文章:

python - 如何在 python 中使用 if 语句对扩展列表执行求和?

python - DRF 使用 PUT 方法丢失 CSRF token

python - Django 在数据库中存储连接表并在表更改时更新

c# - 为什么 string.Format ("{0:d}", DateTime.Now) 在更改本地显示设置后返回 "yyyy-MM-dd"而不是美国本地 "M/d/yyyy"?

c - 如何在LINUX/C中打印 "dd mm yyyy hh mm sec"格式的时间

r - 填写缺失的时间步长 (yyyy-mm-dd HH :MM:SS) by adding rows with missing times in R

python - 如何使用 python 的 scikit-learn 制作推荐模型

python - `except` 子句中的名称绑定(bind)在子句之后删除

python - 何时在 Pandas 中使用 .count() 和 .value_counts()?

Python Django 错误 : version GLIBC_PRIVATE not defined