Как сохранять уникальный Foreign Key?

Привет. В общем, есть модель:

class Vendor(models.Model):
        name = models.CharField(max_length=50, unique=True)
        seo_name = models.SlugField()

        def __str__(self):
            return self.name
    
    class Product(models.Model):
         vendor = models.ForeignKey(Vendor, unique=False, blank=True, default=None, null=True, on_delete=models.SET_NULL)


Делаю парсинг xml файла и в этом файле vendor указан в каждой позиции, мне надо что бы в модель vendor сохранялись только уникальные значения, а каждому продукту указывался cвой vendor, я делаю так:

for p in products:
        vendor = Vendor()
        vendor.name = p['vendor']
        try:
            vendor.save()
        except:
            pass
        product.vendor = vendor

В итоге получается что в модели Product vendor присвоен только тем значениям в момент парсинга которых их vendor еще не был сохранен.
Вопрос в том, как сделать так, что бы vendor присваивался каждому product?
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы