Почему изменение полей в экспорте импорта djnago не работает?

Мне нужно импортировать отношения ManyToMany не по полю id, а по полю number. Я знаю, что это делается с помощью through_fields, но не совсем понимаю, как это сделать models.py

class Part(models.Model):
    brand = models.CharField('Производитель', max_length=100, blank=True)
    number = models.CharField('Артикул', max_length=100, unique=True)
    name = models.CharField('Название', max_length=100, blank=True)
    description = models.TextField('Комментарий', blank=True, max_length=5000)
    analog = models.ManyToManyField('self', through='ContactConnection',blank=True, related_name='AnalogParts')
    images = models.FileField('Главное изображение', upload_to = 'parts/', blank=True)
    images0 = models.FileField('Дополнительное фото', upload_to = 'parts/', blank=True)
    images1 = models.FileField('Дополнительное фото', upload_to = 'parts/', blank=True)
    images2 = models.FileField('Дополнительное фото', upload_to = 'parts/', blank=True)

    def __str__(self):
        return str(self.number)
        return self.name

    class Meta:
        verbose_name = 'Запчасть'
        verbose_name_plural = 'Запчасти'

class PartConnection(models.Model):
    to_part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='to_parts')
    from_part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='from_parts')

Это легко сделать, указав опцию primary_key=True в самом поле. Скорее всего, вы захотите определить его следующим образом;

number = models.CharField('Артикул', max_length=100, unique=True, primary_key=True)

Теперь вы получите доступ к number с помощью instance.pk. Если вы хотите, чтобы он назывался id, просто добавьте его следующим образом;

id = models.CharField('Артикул', max_length=100, unique=True, primary_key=True)
Вернуться на верх