Django -import-export получить автоматически сгенерированный идентификатор во время импорта - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь импортировать Excel без указанного поля идентификатора, а идентификатор автоматически создается с помощью django. Мне нужно получить доступ к этому автоматически сгенерированному полю идентификатора, но я не могу понять, как это сделать. доступ ко всей строке не дает автоматически сгенерированного идентификатора. Есть идеи о том, как получить доступ к автоматически сгенерированному полю идентификатора?

1 Ответ

0 голосов
/ 16 июня 2020

Я предполагаю, что вы хотите получить доступ к автоматическому идентификатору во время процесса импорта. Если это неверно, уточните свои вопросы и предоставьте дополнительную информацию .

Существует ловушка после сохранения под названием after_save_instance(). instance - это созданный экземпляр объекта модели, созданный из каждой строки в вашем импорте. На этом этапе экземпляр будет сохранен, и для него будет установлен автоматически сгенерированный pk.

class YourResource(resources.ModelResource):

  def after_save_instance(self, instance, using_transactions, dry_run):
    # the model instance will have been saved at this point, and will have a pk
    print(instance.pk)

  class Meta:
    model = YourModel
...