Django Обновление экземпляра с помощью электронной почты из 2 связанных объектов

У меня есть эти models:

class Contact(models.Model):
    email = models.EmailField(max_length=200, blank=False, null=False)

class Account(models.Model):
    #account owner
    contact = models.OneToOneField(Contact, on_delete=models.CASCADE)

class IndividualProfile(models.Model):
    account = models.OneToOneField(Account, blank=False, null=False, default='', on_delete=models.CASCADE)

и я хочу импортировать IndividualProfile, через django-import-export. В листе, который я импортирую, у меня есть поле email, которое я буду использовать, чтобы проверить, существует ли Contact. Вот логика, над которой я сейчас работаю:

class IndividualProfileResource(resources.ModelResource):
    class Meta:
        model = IndividualProfile
        clean_model_instances = True
                
    def before_import_row(self, row, row_number=None, **kwargs):
        self.temp_email = row["email"]

    def after_import_instance(self, instance, new, row_number=None, **kwargs):
        """
        Create any missing Contact entries prior to importing rows.
        Create any missing Account entries prior to importing rows.
        """
        
        if self.temp_email:
            # create contact first
            contact, created = Contact.objects.seal().get_or_create(email=self.temp_email)
            # # check if account exists
            account, created = Account.objects.seal().get_or_create(contact=contact)
            # # check if profile exists
            instance.account = account

но это приводит к ошибке в предварительном просмотре, когда я пытаюсь загрузить существующий email. Я ожидал, что он обновит существующий экземпляр IndividualProfile, но этого не произошло. Как я могу это исправить? Любая помощь будет принята с благодарностью.

enter image description here

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