-
Уважаемые господа, подскажите как можно решить проблему:
Пытаюсь записать (точнее джанга пытается автоматом записать) в таблицу Оракл в поле 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 работать.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
