Виджет внешнего ключа находит более 1 значения, как мне подойти к этому - PullRequest
1 голос
/ 30 марта 2019

Я использую библиотеку django-import-export и пытаюсь реализовать виджет ForeignKey, который доступен для поиска связанных объектов, используя Author.name вместо Author.pk. Теперь вот сложная часть для данного календарного года. У меня есть только один автор с таким же именем, однако в следующем году имя автора будет похожим. Конечно, когда я пытаюсь импортировать, возникает проблема о том, что найдено больше, чем Author.name.

Есть предложение решить проблему?

1 Ответ

1 голос
/ 30 марта 2019

Я использовал before_save_instance(), чтобы сделать что-то похожее на это. Вот некоторый псевдокод, как это может работать:

class MyModelResource(ModelResource):
    # Specify fields and Meta information here
    def before_save_instance(self, instance, using_transactions, dry_run):
        # Replace the below with your actual code
        year = instance.year
        author = Author.objects.filter(year=year)
        instance.author = author
        return instance

Предполагается, что информация, необходимая для получения правильного автора, доступна в импортируемой строке.

...