Необходимо импортировать данные из CSV-файлов в приложение Django. Вот как модель выглядит следующим образом:Django - импорт объемных данных: записи не сохранены
class MDfile(models.Model):
file_name = models.CharField(max_length=50, editable=False)
line = models.IntegerField()
mkt_type = models.CharField(max_length=7, editable=False)
# ...... etc.
yearly_lo_price1 = models.CharField(max_length=9, editable=False)
И метод, который получает вызывается в обработчике просто:
def impMDfile(self, fileType, fullpath, filename):
try:
lines=1
obj = MDfile()
fromFile = open(fullpath)
for eachLine in fromFile:
fieldsInLine = eachLine.split(",")
print fieldsInLine
obj.file_name = filename
obj.line = lines
obj.mkt_type = fieldsInLine[0].strip()
# ...... etc.
obj.yearly_lo_price1 = fieldsInLine[12].strip()
obj.save()
lines+=1
except BaseException as e:
logging.info('\terror importing %s line %d : %s' % (fullpath, lines, e.__str__()))
else:
logging.info("\timported %s, %d lines" % (fullpath, lines))
Проблема: Всего несколько случайных записи будут вставлены в БД, в то время как выводит все строки на терминал при запуске и правильность подсчета строк. Файлы имеют около 1,5 - 2,5 тыс. Строк. Также проверили таблицу с psql.
Использование Django 1.7.1 в Virtualenv; База данных PostgreSQL; Ubuntu 12.04. Я не слишком хорош с Python; и только начал с Django. Любая помощь/указатели оценили, спасибо!
Забыл упоминание: это приложение зарегистрировано в settings.py и вызывается как 'python manage.py ftpimport' – Rambler
Похоже, что вы импортируете CSV. Возможно, вы захотите проверить библиотеку csv Python. – Josh