Запретите Django добавлять postgres timestamptz к запросу при импорте данных

У меня есть команда управления для django, чтобы импортировать данные из файла csv в приложение. Эта команда управления работает в основном нормально, за исключением того, что поле даты в моей модели, которое имеет значение по умолчанию "сейчас", не может быть переопределено.

Вот код моей команды управления 'load_data':

from django.db import connection

import csv
from django.core.management import BaseCommand
from myapp.models import myitem

class Command(BaseCommand):
    help = 'Load a csv file into the database'

    def add_arguments(self, parser):
        parser.add_argument('--path', type=str)

    def handle(self, *args, **kwargs):
        path = kwargs['path']
        with open(path, 'rt', errors='ignore') as f:
            reader = csv.reader(f, dialect='excel')
            
            for row in reader:
                print ("\n22: "+row[0]+"\n")
                print("\nQuery: "+connection.queries)
                print ("\n\n24: "+row[1]+"\n")                
                print ("\n24: "+row[2]+"\n\n")
                MyItem.objects.create(
                    itemProp1=row[0],
                    itemProp2=row[1],
                    itemDate=row[2],
                    )

Код в основном работает, за исключением попытки импортировать поле itemDate, вместо того, чтобы присвоить ему значение из импортируемой строки, django хочет установить время в now.

Выдается следующая ошибка, которая заключается в следующем:

django.db.utils.DataError: value too long for type character varying(20)

Запрос соединения, используемый при попытке импортировать данные образца, полученный с помощью моей распечатки выше, следующий:

INSERT INTO "myapp_myitem" ("itemProp1", "itemProp2", "itemDate") VALUES (\'heavy\', \'green\', '\'2022-06-23T00:00:00+00:00\'::timestamptz) 

Ассоциированная модель, в которую я пытаюсь импортировать данные, следующая:

from django.db import models
from django.utils import timezone
class MyItem(models.Model):
    itemProp1 = models.CharField(max_length=200)
    itemProp2 = models.CharField(max_length=200)
    itemDate = models.DateTimeField(default=timezone.now)

Насколько я могу определить, эта ошибка вызвана тем, что django пытается установить значение по умолчанию для поля itemDate, вместо того, чтобы позволить ему быть установленным моим назначением load_data.

Как я могу решить эту проблему?

Вернуться на верх