ico*_*aos 5 python django django-models django-admin django-import-export
我正在尝试将excel文档导入Django DB.我已将以下代码添加到admin.py和model.py.Django的开发似乎有一个错误.我已经阅读了几个关于如何修复此错误的不同文档.但我对如何完全实现它仍然有点迷失.
在Trace中,它一直说我的excel文档需要一个id字段.id我的excel文档中没有字段,也没有告诉我的模型寻找id字段.
我发现的文档说明我应该get_or_init_instance在这里使用:
https://django-import-export.readthedocs.org/en/latest/import_workflow.html
你们给予的任何帮助都会很棒.
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')
Run Code Online (Sandbox Code Playgroud)
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',)
Run Code Online (Sandbox Code Playgroud)
跟踪:
> 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)
Run Code Online (Sandbox Code Playgroud)
bla*_*ker -1
在 ModelResource 字段中包含字段 id
fields = ('id','VIN','LatestOpenCaseID','LatestClosedCaseID',
'OpenDate', 'CloseDate', 'HasCampaigns',)
Run Code Online (Sandbox Code Playgroud)
并在您的 Excel 文件中添加一列,其中字段 ID 为空值。这添加了一个具有自动增量的新字段。
文件.xls
id VIN OpenDate ...
23 05-10-2018
24 05-11-2018
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2356 次 |
| 最近记录: |