2017-07-23 2 views
0
class ProductResource(resources.ModelResource): 
    class Meta: 
     model = Product 
     exclude = ('pub_date','modified_date',) 
     import_id_fields = ('CD-SKU',) 

class ProductAdmin(ImportExportModelAdmin): 
     resource_class = ProductResource 

L'erreur est:django-import-export KeyError: u'CUSTOM_PRIMARY_KEY »

Line number: 1 - u'CD-SKU' 
0H041501, VOL3380235300029, 3380235300029, B00FIZJI0K, 11.59, None, None, None, None, None, None, None, None, None 
Traceback (most recent call last): 
File "/home/mws/Env/mws_prod/local/lib/python2.7/site-packages/import_export/resources.py", line 434, in import_row 
instance, new = self.get_or_init_instance(instance_loader, row) 
File "/home/mws/Env/mws_prod/local/lib/python2.7/site-packages/import_export/resources.py", line 258, in get_or_init_instance 
instance = self.get_instance(instance_loader, row) 
File "/home/mws/Env/mws_prod/local/lib/python2.7/site-packages/import_export/resources.py", line 252, in get_instance 
return instance_loader.get_instance(row) 
File "/home/mws/Env/mws_prod/local/lib/python2.7/site-packages/import_export/instance_loaders.py", line 31, in get_instance 
field = self.resource.fields[key] 
KeyError: u'CD-SKU' 

Après avoir lu les questions connexes, j'ai enlevé l'auto natif identifiant généré et utilisé mon propre champ comme le principal. Mentionné dans la classe de ressources. Mais il n'est toujours pas capable d'importer.

Apprécierait toute l'aide. Merci!

+0

Veuillez expliquer quand cette erreur survient. Qu'est-ce que tu as fait? –

+0

Il apparaît lorsque nous importons d'un fichier csv ou xlsx. – user1502

+0

S'il vous plaît envoyer le code ainsi –

Répondre

2

On dirait que vous venez d'avoir une faute de frappe. Ce que votre modèle a est CD_SKU et vous ressource utilise CD-SKU:

class Product(models.Model): 
    CD_SKU = models.CharField(max_length = 200, primary_key=True) 

vs

import_id_fields = ('CD-SKU',) 

Modifier à:

import_id_fields = ('CD_SKU',) 

it helps!

+0

CD_SKU, primary_key = True OU unique = True –