Как передать значение в виде строки в ForeignKey, а не целое число? - PullRequest
0 голосов
/ 26 февраля 2019

ИМПОРТ ФОТО

Я попытался импортировать мою модель в admin в файл csv, и выходные данные из внешних ключей являются целыми числами (см. Поля Department и Status на фото выше).Как я могу преобразовать это в строку?

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете проверить, как добавить поля отношений в документацию .Он предлагает добавить два класса: класс ресурсов, чтобы определить, какие поля экспортируются, и класс администратора, который соединяет класс ресурсов с интерфейсом администратора.В вашем случае admin.py может выглядеть как

from django.contrib import admin
from models import *
from import_export.admin import ImportExportModelAdmin
from import_export import resources

class HrmResource(resources.ModelResource):

    class Meta:
        model = hrm
        fields = ('name', 'place', 'department__nm_dept')

class HrmAdmin(ImportExportModelAdmin):
    resource_class = HrmResource

admin.site.register(r_dept)
admin.site.register(hrm, HrmAdmin)

и models.py как

from django.db import models

class r_dept(models.Model):
    nm_dept = models.CharField(max_length=200)
    def __str__(self):
        return self.nm_dept

class hrm(models.Model):
    name = models.CharField(max_length=200)
    place = models.CharField(max_length=200)
    department = models.ForeignKey('r_dept')
    def __str__(self):
        return self.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...