Django import export行号:1-未找到"u"列"id" [英] Django import export Line number: 1 - u"Column 'id' not found
问题描述
我正在尝试将excel文档导入Django DB.我已将以下代码添加到admin.py
和model.py
. Django的开发似乎有一个错误.我已经阅读了一些有关如何解决此错误的不同文档.但是我对如何准确地实现它仍然有些迷惑.
I am trying to import excel documents into a Django DB. I have added the following code to admin.py
and model.py
. There seems to be an error in the development of Django. I have read through several different documentations about how to fix this error. But I am still a little lost on how to implement it exactly.
在跟踪中,它一直说我的excel文档需要一个id
字段.我的excel文档中没有id
字段,也没有告诉模型寻找id
字段.
In the Trace it keeps saying that my excel document needs an id
field. There is no id
field in my excel docs nor did I tell my model to look for an id
field.
我发现的文档指出应在此处使用get_or_init_instance
:
The documentation that I have found states that I should use get_or_init_instance
here:
https://django-import-export.readthedocs.org/en/latest/import_workflow.html
你们能提供的任何帮助都会很棒.
Any help that you guys could give would be great.
admin.py
class VinCasesAndCampaignsResource(resources.ModelResource):
published = fields.Field(column_name='published_date')
def get_instance(self, instance_loaders, row):
return False
class Meta:
model = VinCasesAndCampaigns
widgets = {}
fields = ('VIN','LatestOpenCaseID','LatestClosedCaseID',
'OpenDate', 'CloseDate', 'HasCampaigns',)
import_id_fields = ['VIN']
export_order = ('VIN',)
exclude = ('id')
model.py
class VinCasesAndCampaigns(models.Model):
VIN = models.CharField(max_length=30)
LatestOpenCaseID = models.DateField()
LatestClosedCaseID = models.DateField()
OpenDate = models.DateField()
CloseDate = models.DateField()
HasCampaigns = models.BooleanField(default = False)
HasOpenCampaigns = models.BooleanField(default = False)
HasCases = models.BooleanField(default = False)
HasEstimates = models.BooleanField(default = False)
HasDwell = models.BooleanField(default = False)
HasClaims = models.BooleanField(default = False)
exclude = ('id',)
踪迹:
> Line number: 1 - u"Column 'id' not found in dataset. Available columns
> are: [u'VIN', u'LatestOpenCaseID', u'LatestClosedCaseID', u'OpenDate',
> u'CloseDate', u'HasCampaigns', u'HasOpenCampaigns', u'HasCases',
> u'HasEstimates', u'HasDwell', u'HasClaims']" Traceback (most recent
> call last): File
> "/Users/USER/anaconda/lib/python2.7/site-packages/django_import_export-0.2.8.dev0-py2.7.egg/import_export/resources.py",
> line 342, in import_data instance, new =
> self.get_or_init_instance(instance_loader, row)
推荐答案
您可以通过以下步骤解决此问题:
You can solve this problem by using the following steps:
步骤1 首先转到C:/Users/am.sa18/Desktop/myenv/Lib/site-packages/import_export/resources.py
Step 1 first goto C:/Users/am.sa18/Desktop/myenv/Lib/site-packages/import_export/resources.py
第2步在编辑器中打开resources.py.
Step 2 open resources.py in the editor.
第3步在第84行进行更改,看起来像这样
Step 3 do change in line no 84, its looks like this
步骤4 import_id_fields = ['id']其中,默认情况下,"id"由import_export软件包设置, 您可以通过模型的主键更改"id". 添加主键后:import_id_fields = ['primary_key']
Step 4 import_id_fields = ['id'] Where 'id' by-default set by import_export package, you can change 'id' by your primary key of the model. After adding primary key : import_id_fields = ['primary_key']
步骤5 .保存resources.py文件并运行服务器.
Step 5 Save resources.py file and run the server.
这篇关于Django import export行号:1-未找到"u"列"id"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!