18.06.2009 12:12

  1. ketsalkoatl

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


    Заранее благодарен за ответы.
  2. Editorial: пожалуйста, оборачивайте код в [code]..[/code], а то читать неудобно...

  3. ketsalkoatl

    0 ↑
    0 ↓
    Простите Иван, в следующий раз обязательно буду так делать :) Я просто не привык с bbcode работать.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.