Импорт категории данных CSV django модель с дочерней категорией - PullRequest
2 голосов
/ 16 марта 2020
class Category(models.Model):
   parent_category = models.ForeignKey('self',related_name='child_category_list',on_delete=models.SET_NULL,blank=True,null=True)
   name            = models.CharField(max_length=255)
   cat_id          = models.CharField(max_length=255,null=True,blank=True)
   path            = models.TextField(null=True,blank=True)

   def __str__(self):
    return self.path

   class Meta:
    verbose_name_plural = "Categories"

def pre_save_parent_category(sender,instance,**kwargs):
  instance.path = instance.name
  parent_category_obj = instance.parent_category
  while parent_category_obj is not None:
    instance.path = parent_category_obj.name + " > " + instance.path
    parent_category_obj = parent_category_obj.parent_category

pre_save.connect(pre_save_parent_category,sender=Category) 

У меня есть модель категории и многочисленные имена и идентификаторы категорий в csv. Есть ли способ импортировать данные csv с родительской категорией? Структура как:

-Computers, Tablets & Network Hardware
--Computer Parts
---motherboard
--laptops
---hp
---dell
...