Форум сайта python.su
Хочу консультацию получить я.
У меня для модели заполнение данными онной можно выполнять через админку по-одному объекту(записи) и с пакетной обработкой.
Пакетная обработка стартует по url и запускает определенный view. В этом view-е в цикле идет запрос к файлу в котором сохранены данные для заполнения. В этом цикле запускается команда сохранения записи через Model.objects.create().
при работе данного цикла в базу записан флаг что идет процесс пакетной обработки.
Для самой модели определен метод save(), но вызов самого родительского метода save через super(Model, self).save(force_insert, force_update) возможен только по условию флага пакетной обработки, о котором я чуть раньше писал. То есть когда происходит пакетная обработка то родительский метод save недоступен. Но ведь Model.objects.create() нужен метод save, который закрыт. То есть записи не происходит. Но если работать без проверки флага то запись происходит дважды и при этом возникает ошибка так как одно из полей уникально и мне трасер говорит что у меня dublicate в базе.
Вопрос как можно обойти данную ситуацию чтобы не возникало конфликта.
Спасибо
Отредактировано (Июль 19, 2009 18:42:36)
Офлайн
Найдено решение проблемы. Все просто нужно заменить create на метод save()
Офлайн