Django-import-export не получается сделать импорт из Excel в модель c ForeignKey

models.py

    # Таблица проектов

class Proekt(models.Model):
    title = models.CharField(max_length=1000, verbose_name='Наименование')
    description = models.TextField(max_length=1000, verbose_name='Описание')
    client = models.ForeignKey('Client', null=True, on_delete=models.SET_NULL, verbose_name='Заказчик')
    cash = models.DecimalField(max_digits=7, decimal_places=2, verbose_name='Оплата', null=True)
    date = models.DateField(auto_now_add=False, auto_now=False, blank=True, null=True, verbose_name='Дата')
    executor = models.ForeignKey('Executor', on_delete=models.SET_NULL, verbose_name='Исполнитель', null=True)

    class Meta:
        verbose_name = 'Проект'
        verbose_name_plural = 'Проекты'
        ordering = ('pk',)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('project_detail', kwargs={'pk': self.pk})


# Таблица исполнителя

class Executor(models.Model):
    name = models.CharField(max_length=50, verbose_name='Наименование')

    class Meta:
        ordering = ('pk',)

    def __str__(self):
        return self.name

    
# Таблица заказчика

class Client(models.Model):
    name = models.CharField(max_length=50, verbose_name='Наименование')

    class Meta:
        ordering = ('pk',)

    def __str__(self):
        return self.name




admin.py

    class ProektResource(resources.ModelResource):
    client = fields.Field(
        column_name='client',
        attribute='client',
        widget=ForeignKeyWidget(Client, 'name'))

    executor = fields.Field(
        column_name='executor',
        attribute='executor',
        widget=ForeignKeyWidget(Executor, 'name'))

    class Meta:
        model = Proekt
        # exclude = ('id',)

        fields = ('id', 'title', 'description', 'client', 'executor', 'cash', 'date')


class ProektAdmin(ImportExportActionModelAdmin):
    resource_class = ProektResource
    list_display = ('title', 'description', 'client', 'executor', 'cash', 'date')


class ClientAdmin(admin.ModelAdmin):
    list_display = ('id', 'name')


class ExecutorAdmin(admin.ModelAdmin):
    list_display = ('id', 'name')

1

2

Подскажите как сделать чтобы импорт работал.

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