关于 python:在 Django 中使用 DateTimeField 和 Oracle

Using DateTimeField in Django with Oracle

我在 Oracle 中有一个表,它有 DATE 类型的字段。此外,我在 Django 中有 DateTimeField 模型。我想在 Oracle 的 DATE 字段中保存日期时间,但 Django ORM 引发了这样的异常:

DatabaseError: ORA-01830: date format picture ends before converting entire input string

我尝试使用 Django DateField,但它不保存日期时间,只保存日期。如何使用 Django 在 Oracle 中保存日期时间(由于遗留问题,我不想在 Oracle 中使用 DATETIME 字段)。

我的模型:

1
2
class MyModel(models.Model):
    filled_date = models.DateTimeField(db_column='filled_date')


我找到了问题的解决方案。
Oracle 等待格式 \\'YYYY-MM-DD HH24:MI:SS\\',但 datetime.datetime.now() 返回这样的字符串:u\\'2013-10-18 05:50:44.332577\\'。
解决办法:

1
2
model.filled_date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
model.save()