-
Уважаемые господа, подскажите как можно решить проблему:
Пытаюсь записать (точнее джанга пытается автоматом записать) в таблицу Оракл в поле c типом DATE дату с временем:
И все время вываливается ошибка:
ORA-01830: date format picture ends before converting entire input string
При этом, если поле указать как DateField, то дата прекрасно записывается (естественно без времени).
Можно ли как-нибудь сказать джанге использовать преобразование TO_DATE.
Вот пример модели:
Вот на этом поле валится:class DataSeries(models.Model):
description = models.CharField(max_length=255,
db_column='DESCRIPTION', blank=True)
atr = models.ForeignKey(PrgObjectAttributes, db_column='ATR_ID')
act = models.ForeignKey(Action, db_column='ACT_CODE')
graph = models.ForeignKey(GraphTypes, db_column='GRT_CODE',
blank=True)
begin = models.DateField(null=True, db_column='DATE_BEGIN')
end = models.DateField(null=True, db_column='DATE_END')
host = models.IPAddressField(db_column='HOST_IP')
add_date = models.DateTimeField(null=True, db_column='ADD_DATE',
auto_now_add=True)
nodes = models.ManyToManyField(PrgObjects, through='DsObjNodes')
class Meta:
db_table = u'DATA_SERIES'
def __unicode__(self):
return u'%s %s' % (self.host, self.description)
add_date = models.DateTimeField(null=True, db_column='ADD_DATE', auto_now_add=True)
При этом джанга генерит следующий sql:
А так - нет:u'INSERT INTO "DATA_SERIES" ("DESCRIPTION", "ATR_ID", "ACT_CODE", "GRT_CODE", "DATE_BEGIN"
, "DATE_END", "HOST_IP", "ADD_DATE") VALUES (\u0420\u044f\u0434 \u0434\u0430\u043d\u043d\u044b\u0445
, 321, sum, line, 2009-06-18, 2009-06-18, 127.0.0.1, 2009-06-18 11:43:27.078724)
Заранее благодарен за ответы.add_date = models.DateField(null=True, db_column='ADD_DATE', auto_now_add=True) -
Editorial: пожалуйста, оборачивайте код в [code]..[/code], а то читать неудобно...
-
Простите Иван, в следующий раз обязательно буду так делать :) Я просто не привык с bbcode работать.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
