Как установить внешний ключ на основе нескольких столбцов с django -import-export? - PullRequest
0 голосов
/ 26 апреля 2020

Существует модель, определяющая, какая комбинация отдела / должности требует какого типа обучения Другая модель показывает сотрудников со всей соответствующей информацией. Все данные поступают из файла xlsx через django -import-export. Проблема в том, что я не могу понять, как установить внешний ключ в модели сотрудников на основе уникальной комбинации строк отдела и должности, поэтому каждый сотрудник получает значение поля обучения соответственно. Я попробовал это решение, но оно не сработало (или, возможно, я сделал что-то не так): https://github.com/django-import-export/django-import-export/issues/375 Я новичок в программировании, и это мой первый проект. Надеюсь, что некоторые из вас могут помочь. Вот моя модель, определяющая обучение для каждой комбинации отдела / должности:

class TrainingMatrix(models.Model):
department = models.ForeignKey(Department, on_delete=models.CASCADE,blank=False, null=True)
position = models.ForeignKey(Position, on_delete=models.CASCADE,blank=False, null=True)
training = models.ManyToManyField(Training)

Вот модель сотрудника:

class Employee(models.Model):
badge = models.CharField(max_length=15, primary_key=True, unique=True)
name = models.CharField(max_length=200)
department = models.ForeignKey(TrainingMatrix, on_delete=models.CASCADE, null=True, blank=True,related_name='department_name')
position = models.ForeignKey(TrainingMatrix, on_delete=models.CASCADE, null=True, blank=True,related_name='position_title')
training = models.ForeignKey(TrainingMatrix, on_delete=models.CASCADE, null=True)

И названия столбцов файла xlsx, которые я импортирую: badge, name , должность, отдел

...