title: django-import-export : import not working
body: <p>I am trying to populate my database with <code>.csv</code> files with <code>django-import-export</code> module but I keep running in this error</p>
  
  <p><code>Line number: 1 - maximum recursion depth exceeded while calling a Python object 43, Sicilian, L, 0, 1,7, 45.7</code><br>
  whenever I try to populate my <code>Pizza</code> model through the admin UI.</p>
  
  <p>Here is my CSV  </p>
  
  <p><a href="https://i.stack.imgur.com/kHUUF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kHUUF.png" alt="csv file"></a></p>
  
  <p><code>admin.py</code></p>
  
  <pre><code>from django.contrib.admin import ModelAdmin
  
  from import_export.admin import ImportExportModelAdmin
  
  from .models import Topping, Pizza, Sub, Pasta, Salad, Dinner
  
  
  class PizzaAdmin(ImportExportModelAdmin):
      def save_related(self, request, form, formsets, change):
          super(PizzaAdmin, self).save_related(request, form, formsets, change)
          form.instance.toppings.add(Topping.objects.get(name='Cheese'))
  
  @admin.register(Sub)
  class SubAdmin(ImportExportModelAdmin):
      pass
  
  # Register your models here.
  admin.site.register(Topping)
  admin.site.register(Pizza, PizzaAdmin)
  # admin.site.register(Sub)
  admin.site.register(Pasta)
  admin.site.register(Salad)
  admin.site.register(Dinner)
  </code></pre>
  
  <p><code>models.py</code></p>
  
  <pre><code>from django.contrib import admin
  
  from django.db import models
  from django.contrib.auth.models import User
  from django.dispatch import receiver
  from django.db.models.signals import post_save
  
  from django.core.validators import MinValueValidator, MaxValueValidator
  from django.contrib.auth import get_user_model
  
  # Create your models here.
  
  
  class Topping(models.Model):
      name = models.CharField(max_length=64)
  
      def __str__(self):
          return(f"{self.name}")
  
  
  class Pizza(models.Model):
      PIZZA_SIZES = (
          ('S', 'Small'),
          ('L', 'Large'),
      )
  
      pizza_type = models.CharField(max_length=64)
      pizza_size = models.CharField(max_length=1, choices=PIZZA_SIZES)
      qty_toppings = models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(3)], default=0)
      toppings = models.ManyToManyField(Topping, related_name='pizzas', blank=True)
      price = models.FloatField(help_text="Price in $")
  
  
      def __str__(self):
          return f"Size: {self.get_pizza_size_display()}, Type: {self.pizza_type}, Number of Toppings: {self.qty_toppings},  Price: {self.price}, Toppings: {self.toppings.in_bulk()}"
  
      def save(self, *args, **kwargs):
          # if 'toppings' not in kwargs:
          # kwargs.setdefault('force_insert', True)
          # kwargs.setdefault('force_update', True)
          super(Pizza, self).save(*args, **kwargs)
          self.toppings.add(Topping.objects.get(name='Cheese'))
          # kwargs.setdefault('toppings', Topping.objects.get(name='Cheese'))
  
  
  class Sub(models.Model):
      SUBS_SIZES = (
          ('S', 'Small'),
          ('L', 'Large'),
      )
  
      subs_size = models.CharField(max_length=1, choices=SUBS_SIZES)
      name = models.CharField(max_length=64)
      price = models.IntegerField(help_text="Price in $")
  
      def __str__(self):
          return f"{self.name}, {self.get_subs_size_display()} : {self.price}"
  
  class Pasta(models.Model):
      name = models.CharField(max_length=64)
      price = models.IntegerField(help_text="Price in $")
  
      def __str__(self):
          return f"{self.name} : {self.price}"
  
  
  class Salad(models.Model):
      name = models.CharField(max_length=64)
      price = models.IntegerField(help_text="Price in $")
  
      def __str__(self):
          return f"{self.name} : {self.price}"
  
  
  class Dinner(models.Model):
      DINNER_SIZES = (
          ('S', 'Small'),
          ('L', 'Large'),
      )
  
      dinner_size = models.CharField(max_length=1, choices=DINNER_SIZES)
  
      name = models.CharField(max_length=64)
      price = models.IntegerField(help_text="Price in $")
  
      def __str__(self):
          return f"{self.name}, {self.get_dinner_size_display()} : {self.price}"
  
  
  class Euser(models.Model):
      user = models.OneToOneField(User, on_delete=models.CASCADE)
  
      def __str__(self):
          return(f"{self.id}")
  
  
  class ShoppingCart(models.Model):
  
      user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
      pizzas = models.ManyToManyField(Pizza)
      subs = models.ManyToManyField(Sub)
      pastas = models.ManyToManyField(Pasta)
      dinners = models.ManyToManyField(Dinner)
  
      number_of_articles = models.IntegerField(null=True)
      price = models.DecimalField(max_digits=5, decimal_places=2, null=True)
  
      def __str__(self):
          return(f"{self.user}'s cart")
  
  @receiver(post_save, sender=get_user_model())
  def create_user_cart(sender, instance, created, **kwargs):
      if created:
          ShoppingCart.objects.create(user=instance)
  
  
  
  
  # @receiver(post_save, sender=User)
  # def create_user_cart(sender, instance, created, **kwargs):
  #     if created:
  #         ShoppingCart.objects.create(user=instance)
  
  # @receiver(post_save, sender=User)
  # def save_user_cart(sender, instance, **kwargs): 
  #    instance.shoppingcart.save()
  </code></pre>
  
  <p>FYI: Used pandas to convert this same <code>.csv</code> to a <code>.json</code>, and I got <code>KeyError encountered while trying to read file: pizza_sicilian.json</code></p>
  
  <p>Any help will be greatly appreciated</p>