django - 如何使用 django 将数据导入数据库
问题描述
我正在尝试使用 Django 将数据从 excel 表导入数据库,但它不起作用。
excel文件由2列标题组成。
id -
name
错误行号:1 - 'id' 无,测试 Traceback(最近一次调用最后):文件“C:\Users\LTGM~1\Desktop\TESTFO~1\testanal\lib\site-packages\import_export\resources.py ",第 492 行,在 import_row 实例中,new = self.get_or_init_instance(instance_loader, row) 文件 "C:\Users\LTGM~1\Desktop\TESTFO~1\testanal\lib\site-packages\import_export\resources.py" ,第 269 行,在 get_or_init_instance instance = self.get_instance(instance_loader, row) 文件“C:\Users\LTGM~1\Desktop\TESTFO~1\testanal\lib\site-packages\import_export\resources.py”中,第 263 行,在 get_instance 返回 instance_loader.get_instance(row) 文件“C:\Users\LTGM~1\Desktop\TESTFO~1\testanal\lib\site-packages\import_export\instance_loaders.py”,第 31 行,在 get_instance field = self .resource.fields[key] KeyError: 'id'
我试过这个import_export
模块。
- 在 models.py 中创建类
- 在 resources.py 中创建资源
- 在 admin.py 中创建管理员
- 在 views.py 中创建函数
模型.py
from django.db import models
# Create your models here.
class criminal_type(models.Model):
criminal_typeID = models.AutoField(primary_key=True)
name = models.CharField(max_length=10)
def __str__(self):
return str(self.name)
资源.py
from import_export import resources
from .models import criminal_type
# from .models import Mouhafazat
class criminal_type_resource(resources.ModelResource):
class Meta:
model = criminal_type
管理员.py
from import_export.admin import ImportExportModelAdmin
from django.contrib import admin
from .models import criminal_type
@admin.register(criminal_type)
class CriminalTypeAdmin(ImportExportModelAdmin):
pass
视图.py
from django.shortcuts import render
from tablib import Dataset
# Create your views here.
def simple_uploadCriminalType(request):
if request.method == 'POST':
criminalType = criminal_type_resource()
dataset = Dataset()
newCriminalType = request.FILES['myfile']
imported_data = dataset.load(newCriminalType.read(),format="xlsx")
result = criminalType.import_data(dataset, dry_run=True) # Test the data import
if not result.has_errors():
criminalType.import_data(dataset, dry_run=False) # Actually import now
return render(request, 'core/simple_upload.html')
解决方案
推荐阅读
- python - 合并没有共同属性的数据框
- html - 如何旋转立方体并使用 css html 扩展其侧面?
- php - 带有 SDK php 的亚马逊产品广告 API 5.0 返回错误 500
- r - 将整列的高度“英尺英寸”转换为R中的十进制高度?
- r - How to read 'hms' time format beyond 24-hours?
- vhdl - How can i use floating point numbers in VHDL?
- linux - bash for loop with range defined not working
- contextmenu - 在 SwiftUI 的 List 内的项目中添加 contextMenu
- html - 如何让这个带有背景图像的 CSS 动画在这个 Markdown 文件中工作?
- android - 您需要在此活动中使用 Theme.AppCompat 主题(或后代)。在数据适配器中