Guilherme Reis Araujo
Guilherme Reis Araujo

Reputation: 69

Import CSV file to Django models

I have one CSV file and I want to import the content of this file to my Django Models, can someone help me and explain how can I do this?

This is my CSV.

NAME,CLUB,LEAGUE,POSITION,RATING,PACE,SHOOTING,PASSING,DRIBBLING,DEFENDING,PHYSICAL,LOADDATE
Aleksandar Kolarov,Roma,Calcio A,LB,81,72,68,72,64,84,85,2018-04-14 08:37:48

And my models are;

class Player(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=128)
league = models.ForeignKey('League', on_delete=models.CASCADE)
club = models.ForeignKey('Club', on_delete=models.CASCADE)
attributes = models.ForeignKey('Attribute', on_delete=models.CASCADE)

    def __str__(self):
        return self.name

class League(models.Model):
    name = models.CharField(max_length=30)

    def __str__(self):
         return self.name

class Club(models.Model):
    name = models.CharField(max_length=30)
    league = models.ForeignKey('League', on_delete=models.CASCADE)
    def __str__(self):
    return self.name

class Attribute(models.Model):
    pace = models.IntegerField()
    shooting = models.IntegerField()
    passing = models.IntegerField()
    dribbling = models.IntegerField()
    defending = models.IntegerField()
    physical = models.IntegerField()
    position = models.CharField(max_length=4)
    overall = models.IntegerField()

def __str__(self):
    return '%s %s'%(self.overall, self.position)

Upvotes: 0

Views: 476

Answers (1)

Ali
Ali

Reputation: 2591

If you want to do this action in django admin, you can follow these steps:

1.install

pip install django-import-export

2.update settings.py file

INSTALLED_APPS = (    
    'import_export',
)

3.add this in admin.py file

 from import_export.admin import ImportExportModelAdmin

 class PlayerAdmin(ImportExportModelAdmin):

     list_display = ('name', )

admin.site.register(Player, PlayerAdmin)

Upvotes: 2

Related Questions