首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用django-import-export通过url将外键id传递到导入的csv文件

可以通过以下步骤实现:

  1. 首先,确保已经安装了django-import-export库。可以通过运行以下命令来安装它:
  2. 首先,确保已经安装了django-import-export库。可以通过运行以下命令来安装它:
  3. 在Django项目的settings.py文件中,将'django_import_export'添加到INSTALLED_APPS列表中:
  4. 在Django项目的settings.py文件中,将'django_import_export'添加到INSTALLED_APPS列表中:
  5. 在Django的models.py文件中定义相关的模型和外键关系。例如,假设有两个模型:BookAuthor,其中Book模型有一个外键指向Author模型:
  6. 在Django的models.py文件中定义相关的模型和外键关系。例如,假设有两个模型:BookAuthor,其中Book模型有一个外键指向Author模型:
  7. 创建一个Django的admin.py文件,并使用import_export库中的ImportExportModelAdmin类来注册模型。这将允许在Django admin界面中导入和导出数据:
  8. 创建一个Django的admin.py文件,并使用import_export库中的ImportExportModelAdmin类来注册模型。这将允许在Django admin界面中导入和导出数据:
  9. 在urls.py文件中添加一个URL模式,用于处理导入CSV文件的请求。例如,可以创建一个名为import_csv的URL模式,并将其映射到一个视图函数:
  10. 在urls.py文件中添加一个URL模式,用于处理导入CSV文件的请求。例如,可以创建一个名为import_csv的URL模式,并将其映射到一个视图函数:
  11. 创建一个视图函数来处理导入CSV文件的请求。在视图函数中,可以使用django-import-export库中的import_data函数来导入CSV文件,并将外键id传递到导入的数据中:
  12. 创建一个视图函数来处理导入CSV文件的请求。在视图函数中,可以使用django-import-export库中的import_data函数来导入CSV文件,并将外键id传递到导入的数据中:
  13. 创建一个HTML模板文件(例如import_csv.html),用于显示一个表单,允许用户选择CSV文件并输入外键id:
  14. 创建一个HTML模板文件(例如import_csv.html),用于显示一个表单,允许用户选择CSV文件并输入外键id:

这样,用户可以通过访问/import-csv/?author_id=<author_id>来导入CSV文件,并将外键id传递到导入的数据中。请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django-import-export插件使用教程

顾名思义,这是一个用于处理导入和导出数据库。django-import-export库支持多种格式,包括xls、csv、json、yaml以及tablib支持所有其他格式。...它确定库是否会在数据导入使用数据库事务,以确保安全。...---- Resources django-import-export使用Resource概念,它类定义非常类似于Django处理模型表单和管理类方式。...在文档中,作者建议将与资源相关代码放在admin.py文件。但是,如果实现与Django admin没有关系,我通常更喜欢在app文件夹里创建一个名为resources.py。...您可以几个配置传递给元类,如:fields, exclude ---- 导出数据 导出数据CSV from .resources import PersonResource person_resource

3.7K40

docker学习7-Dockerfile制作自己镜像文件

把做好虚拟环境传到某个仓库(类似github),哪个机器需要用到,就一导入过去就ok了,于是docker制作自己镜像文件势在必行了,这就是今天要说Dockerfile制作一个属于自己镜像文件。...简单来说,Dockerfile就是把我们安装环境每个步骤和指令,放到一个文件,最后一执行,最后做成一个你想要环境。...EXPOSE 当前容器对外暴露端口号 ENV 用来在构建镜像过程中设置环境变量 ADD 宿主机目录下文件拷贝镜像里面并且ADD命令会自动处理URL和解压tar压缩包 COPY COPY...OPTIONS说明: -f :指定要使用Dockerfile路径; —pull :尝试去更新镜像新版本; —quiet, -q :安静模式,成功后只输出镜像 ID; —tag, -t: 镜像名字及标签...—rm选项不能与-d同时使用 -v 容器工作目录/code挂载到宿主机$PWD,也就是当前目录 yoyo_pytest:v1 容器名称和tag名称 test_h.py 后面跟着需要执行脚本名称

10.5K62

django ImportExportModelAdmin自定义导出数据

官方文档:django-import-export django 导出数据excel 借助官方文档一些数据进行理解: class Author(models.Model): name = models.CharField...,请使用fields(自定义)选项字段列入白名单 fields = ('id', 'name', 'price',) # 或exclude(自定义)字段列入黑名单选项...,author__name实际得到就是作者名字, 但是在查询时记得使用select_related(),以保证在查询时可以所关联数据一块查出,否则无法使用链式调用, 最下面会有完整例子说明...如果小部件应使用不同参数初始化,请设置widgets字典。 在此示例窗口小部件中,该published字段被覆盖以使用其他日期格式。此格式将同时用于导入和导出资源。...# # 这里响应对象获得了附加Content-Disposition协议头,它含有excel文件名称,文件名随意,当浏览器访问它时,会以"另存为"对话框中使用它.

71440

【Docker】个人镜像文件Dockerfile制作详解

Docker 是一个开源应用容器引擎,让开发者可以打包他们应用以及依赖包一个可移植容器中,然后发布到任何流行Linux或Windows操作系统机器上,也可以实现虚拟化,容器是完全使用沙箱机制...简单来说,Dockerfile就是把我们安装环境每个步骤和指令,放到一个文件,最后一执行,最后做成一个你想要环境。...EXPOSE 当前容器对外暴露端口号 ENV 用来在构建镜像过程中设置环境变量 ADD 宿主机目录下文件拷贝镜像里面并且ADD命令会自动处理URL和解压tar压缩包 COPY COPY:类似ADD...OPTIONS说明: -f :指定要使用Dockerfile路径; -pull :尝试去更新镜像新版本; -quiet, -q :安静模式,成功后只输出镜像 ID; -tag, -t: 镜像名字及标签...-rm选项不能与-d同时使用 -v 容器工作目录/code挂载到宿主机$PWD,也就是当前目录 yoyo_pytest:v1 容器名称和tag名称 test_h.py 后面跟着需要执行脚本名称

65620

卸载 Navicat!事实已证明,正版客户端,它更牛逼……

如果下载驱动有问题,可以手动添加本地驱动包,在试用过程中,创建Oracle连接时,下载驱动包就有问题,提示缺少class,点击右侧绿色+号,选择本地下载好jar包,通过右侧上下箭头,导入jar...如果是导出到csv格式,还能控制导出格式 ? 导出后用excel打开是这种结果 ? 导入数据 选择表,右键->Import from File,选择要导入文件 ?...快速导航指定表、视图、函数等: 在datagrip中,使用Ctrl+N快捷,弹出一个搜索框,输入需要导航名称,回车即可 全局搜索 连续两次按下shift,或者鼠标点击右上角搜索图标,弹出搜索框...导航关联数据 表之间会有检关联,查询时候,能直接定位关联数据,或者被关联数据,例如user1表有个检字段classroom指向classroom表主键id,在查询classroom表数据时候...大写自动转换 sql使用大写形式是个好习惯,如果使用了小写,可以光标停留在需要转换字段或表名上,使用Ctrl+shift+U快捷自动转换 sql格式化 选中需要格式化sql代码,使用Ctrl+

4.9K10

七.网络爬虫之Requests爬取豆瓣电影TOP250及CSV存储

下面给出使用GET请求和POST请求获取某个网页方法,得到一个命名为rResponse对象,通过这个对象获取我们所需信息。...假设作者想传递 key1=value1 和 key2=value2 httpbin.org/get ,那么你可以使用如下代码: import requests payload = {'key1':...: 这里数字是: 1059232 ---- 六.CSV文件操作 我们在使用Python进行网络爬虫或数据分析时,通常会遇到CSV文件,类似于Excel表格。...1.CSV文件写 基本流程如下: 导入CSV模块 创建一个CSV文件对象 写入CSV文件 关闭文件 # -*- coding: utf-8 -*- import csv c = open("test-...文件读 基本流程如下: 导入CSV模块 创建一个CSV文件对象 读取CSV文件 关闭文件 # -*- coding: utf-8 -*- import csv c = open("test-01.csv

1.8K20

Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据

注意,您没有文件名字符串直接传递csv.reader()函数。 访问reader对象中最直接方法是通过将它传递给list()➍ 来将其转换成普通 Python 列表。...reader和writer对象通过使用列表读写 CSV 文件行。DictReader和DictWriter CSV 对象执行相同功能,但是使用字典,它们使用 CSV 文件第一行作为这些字典。...writer对象将使用csvFilename(我们在 CSV 读取器中也使用了它)列表写入headerRemoved中 CSV 文件中。...为了创建我们想要访问 URL,我们使用了%s占位符,并将存储在location中任何字符串插入 URL 字符串中那个位置。...我们结果存储在url中,并将url传递给requests.get()。requests.get()调用返回一个Response对象,您可以通过调用raise_for_status()来检查它错误。

11.5K40

pandas用法-全网最详细教程

1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd 2、导入CSV或者xlsx文件: df = pd.DataFrame...如果字典中传递,将作为参数,使用排序,除非它传递,在这种情况下值将会选择 (见下文)。任何没有任何反对默默地被丢弃,除非他们都没有在这种情况下引发 ValueError。...join_axes︰ 索引对象列表。具体指标,用于其他 n-1 轴而不是执行内部/外部设置逻辑。 keys︰ 序列,默认为无。构建分层索引使用通过作为最外面的级别。...如果多个级别获得通过,应包含元组。 levels︰ 列表序列,默认为无。具体水平 (唯一值) 用于构建多重。否则,他们推断钥匙。 names︰ 列表中,默认为无。由此产生分层索引中名称。...='bluewhale_cc') 2、写入CSV df_inner.to_csv('excel_to_python.csv') 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

5.6K30

玩了下flask,很轻量级一个web开发框架

*** 以上是规范请求方法,当然你可以选择无视,不遵守 *** 需要用到模板文件的话可以用 *** render_template(‘index.html’,a=a) {{a}} 传递参数也非常简单...,直接传递,然后在模板文件中用模板语言调用即可 模板中可以一样用到切片操作,很方便 语法都是和python语法一样,非常友好 *** 过滤器也是和django一样 | 后面接着过滤器名称就好...,primary_key=True) name=db.Column(db.String(16),unique=True) # 用上面表id来表示 role_id=db.Column(db.Integer...,db.ForeignKey(‘roles.id’)) # *** orm增删改查 *** db.session.commit() 提交 db.session.delete() 删除...commit事务提交才能同步数据库 ***

1.1K30

Django篇(一)

通过Models去操作表: 导入模块 from student.models import stuinfo # 这里有日期,就导入一下日期模块 from datetime import date #...sid = models.ForeignKey('stuinfo') 多表联查有个,我们通过来查询 通过第一张表查询第二张表 s1 = student.objects.get(id =...1) # 这样就查询 nid = 1 person表了,在表名后加_set s1.person_set.all() 通过第二张表查询第一张表 p1 = person.objects.get(id...() p2.name = '小花' # 需要赋值一个对象 p2.sid = s1 # 查询键值 赋值是一个对象,那我们怎么查询id值?...整理一下思路,浏览器输入127.0.0.1:8080/index,服务器会把index传递test1url,匹配正则,匹配带第二个匹配就会去student下urls中继续匹配,来完成方法映射。

1K30

关于“Python”核心知识点整理大全49

,同时根据通过实参传递颜色给各个国家着色。...16.3 小结 在本章中,你学习了:如何使用网上数据集;如何处理CSV和JSON文件,以及如何提取 你感兴趣数据;如何使用matplotlib来处理以往天气数据,包括如何使用模块datetime...有了使用CSV和JSON文件经验后,你将能够处理几乎任何要分析数据。大多数在线数 据集都可以以这两种格式中一种或两种下载。学习使用这两种格式为学习使用其他格式数据 做好了准备。...在2处,我们存储API调用URL,然后使用requests 来执行调用(见3)。我们调用get()并将URL传递给它,再将响应对象存储在变量r中。...17.1.5 处理响应字典 API调用返回信息存储字典中后,就可以处理这个字典中数据了。下面来生成一些 概述这些信息输出。

13310

D3.js 核心概念——数据获取与解析

进行数据可视化第一步是需要获取数据,可以使用 JS 提供 File API 读取用户在表单 中主动导入本地文件,或者通过发送网络请求获取在线数据。...DSV 是 Delimiter Separated Values 简称,是一类文件格式统称,在这些文件存储着二维数据,每一行是一个数据项,每个数据项中各值之间使用特定符号分隔,例如 .csv 后缀文件使用逗号分隔...Comma-separated values,.tsv 后缀文件使用 Tab (制表)分隔 Tab-separated values 第一个入参是指定分隔符 第二个入参是数据文件路径...入参是数据项(依然传递一行数据函数中),该函数就像为每一行数据应用数组 map 函数和 filter 函数,对数据进行转换和筛选,如果返回 null 或 undefined 则该行数据就会被忽略跳过...有时候为了方便也可以使用 D3 **数据类型自动推断**功能,可以 D3 内置转换函数 d3.autotype 传递给 fetch 模块或 d3-dsv 模块中相应方法,例如 d3.dsv('

4.7K10

DataSet导入三个坑

1 是一个常见保证数据库内容完整性一种方式。当然现在出于性能考虑,在互联网企业中比较少甚至禁止使用。...,如果存在外的话,经常会发生因为不存在导致数据无法导入问题。...因为USER表中使用了这两个表中主键作为,表达用户粉与被粉关系。 <?xml version='1.0' encoding='UTF-8'?...那是否可以使用UPDATE策略来更新各个记录主键ID呢?考虑一般采用主键ID是记录类数据场景,无法保证原记录存在,所以也不太适合使用UPDATE策略。...其次是在数据导入问题,DBUnit一个著名bug是在导入XML、CSV格式文件时,如果待导入文件第一条记录Nullable列数据正好是Null,那么DBUnit会忽略该列,整列数据都会被丢失

1.1K10

JetBrains出品,一款好用到爆数据库工具,惊艳到了!!!

如果下载驱动有问题,可以手动添加本地驱动包,在试用过程中,创建Oracle连接时,下载驱动包就有问题,提示缺少class,点击右侧绿色+号,选择本地下载好jar包,通过右侧上下箭头,导入jar...除了能导出数据,还能导入数据 选择表,右键->Import from File,选择要导入文件 ?...「2、快速导航指定表、视图、函数等:」 在datagrip中,使用Ctrl+N快捷,弹出一个搜索框,输入需要导航名称,回车即可 ?...「5、导航关联数据」 表之间会有检关联,查询时候,能直接定位关联数据,或者被关联数据,例如user1表有个检字段classroom指向classroom表主键id,在查询classroom...5、大写自动转换 sql使用大写形式是个好习惯,如果使用了小写,可以光标停留在需要转换字段或表名上,使用Ctrl+shift+U快捷自动转换 6、sql格式化 选中需要格式化sql代码,使用

1.5K10

IDEA 官方数据库管理神器,比 Navicat 还香?

,可以手动添加本地驱动包,在试用过程中,创建 Oracle 连接时,下载驱动包就有问题,提示缺少 class,点击右侧绿色+号,选择本地下载好 jar 包,通过右侧上下箭头,导入 jar 包移到最上位置就...导出后用 excel 打开是这种结果 除了能导出数据,还能导入数据 选择表,右键->Import from File,选择要导入文件 注意,导出时候如果勾选了左侧两个 header 选项...在查询结果集视图区域点击鼠标,按下 Ctrl+F 快捷,弹出搜索框,输入搜索内容,支持正则表达式、过滤结果 导航关联数据 表之间会有检关联,查询时候,能直接定位关联数据,或者被关联数据,例如...user1 表有个检字段 classroom 指向 classroom 表主键 id,在查询 classroom 表数据时候,可以在 id 字段上右键,go to,referencing data...能快速展开列,光标定位后面,按下 Alt+Enter 快捷 大写自动转换 sql 使用大写形式是个好习惯,如果使用了小写,可以光标停留在需要转换字段或表名上,使用 Ctrl+shift+U

2.2K10

DataGrip 保姆级教程 !

,可以手动添加本地驱动包,在试用过程中,创建Oracle连接时,下载驱动包就有问题,提示缺少class,点击右侧绿色+号,选择本地下载好jar包,通过右侧上下箭头,导入jar包移到最上位置就OK...excel打开是这种结果 除了能导出数据,还能导入数据 选择表,右键->Import from File,选择要导入文件 注意,导出时候如果勾选了左侧两个header选项,导入时候如果有...,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位左侧对象树,并选中点击对象 2、快速导航指定表、视图、函数等: 在datagrip中,使用Ctrl+N快捷,弹出一个搜索框,输入需要导航名称...5、导航关联数据 表之间会有检关联,查询时候,能直接定位关联数据,或者被关联数据,例如user1表有个检字段classroom指向classroom表主键id,在查询classroom表数据时候...select 查询所有列,这是不好习惯,datagrip能快速展开列,光标定位后面,按下Alt+Enter快捷 12、大写自动转换 sql使用大写形式是个好习惯,如果使用了小写,可以光标停留在需要转换字段或表名上

4.1K12

IDEA DataGrip 太吊了

,可以手动添加本地驱动包,在试用过程中,创建Oracle连接时,下载驱动包就有问题,提示缺少class,点击右侧绿色+号,选择本地下载好jar包,通过右侧上下箭头,导入jar包移到最上位置就OK...excel打开是这种结果 除了能导出数据,还能导入数据 选择表,右键->Import from File,选择要导入文件 注意,导出时候如果勾选了左侧两个header选项,导入时候如果有...,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位左侧对象树,并选中点击对象 2、快速导航指定表、视图、函数等: 在datagrip中,使用Ctrl+N快捷,弹出一个搜索框,输入需要导航名称...5、导航关联数据 表之间会有检关联,查询时候,能直接定位关联数据,或者被关联数据,例如user1表有个检字段classroom指向classroom表主键id,在查询classroom表数据时候...select 查询所有列,这是不好习惯,datagrip能快速展开列,光标定位后面,按下Alt+Enter快捷 5、大写自动转换 sql使用大写形式是个好习惯,如果使用了小写,可以光标停留在需要转换字段或表名上

2.8K30
领券