diff --git a/ippisite/ippidb/management/commands/import_v1_data.py b/ippisite/ippidb/management/commands/import_v1_data.py
index 11861016c345b4d89e79b9960b7ddb8fce10db9e..7de942bfb3338deea3efe79377b0147a6ab3eea3 100644
--- a/ippisite/ippidb/management/commands/import_v1_data.py
+++ b/ippisite/ippidb/management/commands/import_v1_data.py
@@ -1,7 +1,8 @@
 from django.core.management import BaseCommand, CommandError
 import mysql.connector
 
-from ippidb.models import Bibliography, Protein, Taxonomy, MolecularFunction, Domain
+from ippidb.models import Bibliography, Protein, Taxonomy, MolecularFunction, \
+    Domain, ProteinDomainBoundComplex, ProteinDomainPartnerComplex
 
 class Command(BaseCommand):
 
@@ -29,6 +30,13 @@ class Command(BaseCommand):
             default=False,
             help='Flush and migrate domains',
         )
+        parser.add_argument(
+            '--complexes',
+            action='store_true',
+            dest='complexes',
+            default=False,
+            help='Flush and migrate complexes',
+        )
         parser.add_argument(
             '--stoponfail',
             action='store_true',
@@ -102,4 +110,35 @@ class Command(BaseCommand):
                         self.stdout.write(self.style.ERROR('Failed inserting {} {}'.format(row[1], row[2])))
                 else:
                     self.stdout.write(self.style.SUCCESS('Successfully inserted {} {}'.format(row[1], row[2])))
-            
+        if options['complexes']:
+            sql_request_string = '''
+                select distinct protein.NumUniprot, domain.PfamNumAccession  , complexe.NbCopy, cmpdAction.IDComplexeBound  from bindingSite inner join ppi on (bindingSite.IDBindingSite=ppi.IDBindingSite1) inner join complexe on (ppi.IDComplexe1=complexe.IDComplexe) left outer join cmpdAction on (complexe.IDComplexe=cmpdAction.IDComplexeBound) inner join protein on (bindingSite.IDProtein=protein.IDProtein) inner join domain on (bindingSite.IDDomain=domain.IDDomain) union select distinct protein.NumUniprot, domain.PfamNumAccession  , complexe.NbCopy, cmpdAction.IDComplexeBound  from bindingSite inner join ppi on (bindingSite.IDBindingSite=ppi.IDBindingSite2) inner join complexe on (ppi.IDComplexe2=complexe.IDComplexe) left outer join cmpdAction on (complexe.IDComplexe=cmpdAction.IDComplexeBound) inner join protein on (bindingSite.IDProtein=protein.IDProtein) inner join domain on (bindingSite.IDDomain=domain.IDDomain)'''
+            cursor.execute(sql_request_string)
+            rows = cursor.fetchall()
+            ProteinDomainBoundComplex.objects.all().delete()
+            ProteinDomainPartnerComplex.objects.all().delete()
+            self.stdout.write(self.style.SUCCESS('Successfully flushed protein domain complex tables'))
+            for row in rows:
+                try:
+                    if row[3]=="null":
+                        c = ProteinDomainPartnerComplex()
+                    else:
+                        c = ProteinDomainBoundComplex()
+                    protein = Protein.objects.get(uniprot_id=row[0])
+                    c.protein_id = protein
+                    domain = Domain.objects.get(pfam_acc=row[1])
+                    c.domain_id = domain
+                    c.ppc_copy_nb = row[2]
+                    if isinstance(c, ProteinDomainBoundComplex):
+                        c.ppp_copy_nb_per_p = 1
+                        c.pockets_nb = 1
+                    c.save()
+                except Exception as e:
+                    if options['stoponfail']:
+                        import traceback
+                        self.stderr.write(traceback.format_exc())
+                        raise CommandError('Failed inserting {} {}'.format(row[0], row[1]))
+                    else:
+                        self.stdout.write(self.style.ERROR('Failed inserting {} {}'.format(row[0], row[1])))
+                else:
+                    self.stdout.write(self.style.SUCCESS('Successfully inserted {} {}'.format(row[0], row[1])))