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

创建由ForeignKey字段关联的2个Django模型的Excel报告

创建由ForeignKey字段关联的两个Django模型的Excel报告可以通过以下步骤实现:

  1. 首先,确保已经安装了Django和openpyxl库。可以使用以下命令安装openpyxl库:
  2. 首先,确保已经安装了Django和openpyxl库。可以使用以下命令安装openpyxl库:
  3. 在Django项目中创建两个相关的模型,并使用ForeignKey字段将它们关联起来。例如,创建一个名为"ModelA"的模型和一个名为"ModelB"的模型,其中"ModelB"通过ForeignKey字段与"ModelA"关联:
  4. 在Django项目中创建两个相关的模型,并使用ForeignKey字段将它们关联起来。例如,创建一个名为"ModelA"的模型和一个名为"ModelB"的模型,其中"ModelB"通过ForeignKey字段与"ModelA"关联:
  5. 创建一个视图函数,用于生成Excel报告。在该函数中,使用openpyxl库创建一个新的工作簿,并将相关数据添加到工作簿中:
  6. 创建一个视图函数,用于生成Excel报告。在该函数中,使用openpyxl库创建一个新的工作簿,并将相关数据添加到工作簿中:
  7. 在urls.py文件中定义一个URL模式,将该视图函数与URL路径关联起来:
  8. 在urls.py文件中定义一个URL模式,将该视图函数与URL路径关联起来:
  9. 运行Django开发服务器,并访问生成Excel报告的URL路径(例如:http://localhost:8000/excel-report/)。将会下载一个名为"excel_report.xlsx"的Excel文件,其中包含由ForeignKey字段关联的两个模型的数据。

这样,你就可以通过创建由ForeignKey字段关联的两个Django模型的Excel报告了。请注意,以上代码仅为示例,实际情况中可能需要根据具体需求进行修改和优化。

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

相关·内容

DjangoForeignKey和ManyToManyField多表查询

多表查询是模型重要功能之一, Django提供了一套基于关联字段独特解决方案....ForeignKey字段接受一个Model类作为参数, 类型与被参照字段完全相同: blog = models.ForeignKey(Blog) ForeignKey.to_field 关联关联对象字段名称...ForeignKey.related_name 这个名称用于让关联对象反查到源对象. 如果你不想让Django 创建一个反向关联,请设置related_name 为 '+' 或者以'+' 结尾....ForeignKey.related_query_name以ForeignKey.related_name作为默认值 使用ForeignKey查询 前向查询 若关系模型A包含与模型B关联关联字段, 模型...flight.reserve.remove(user) flight.save() 参考资料: django文档-模型字段-关联字段 django文档 - 执行查询 - 关联对象 django文档 -

1.8K10

完整 Django 零基础教程|初学者指南 - 第 3 部分 转自:维托尔·弗雷塔斯

与日期和时间字段一样,我们还必须引用User 模型**.created** 和updated . 。 最后,用户 模型。...在这个表示中,我们可以更清楚地看到,在Post 模型中,关联 主题 、创建者 和更新者 成为模型字段。...每个字段django.db.models.Field 子类(内置 Django 核心)实例表示,并将被转换为数据库列 。...在模型之间创建关系一种方法是使用 ForeignKey字段。它将在模型之间创建链接并在数据库级别创建适当关系。该 ForeignKey字段需要一个位置参数,其中包含对其将相关模型引用。...例如,在 Topic模型中,board字段ForeignKey给 Board模型。它告诉 Django 一个 Topic实例只与一个 Board实例相关。

2.2K40
  • 基于Django OneToOneField和ForeignKey区别详解

    模型(Models)是对网站所需信息种类定义,其包含了网站存储数据中重要字段和数据行为。...一般来说,一个模型对于数据库中一个表单。 字段(Fields)是模型重要和唯一组成部分,他们类别的属性值所指定。...对于每个ForeignKey,我们需要给出关联模型和on_delete响应选项,即 manufacturer = models.ForeignKey( 'Manufacturer', on_delete...,再删除此字段信息时候同时删除包含ForeignKey字段目标(object) PROTECT 通过django.db.IntegrityError中ProtectedError来保护此字段不被删除...toppings = models.ManyToManyField(Topping) 在示例代码中,Pizza类toppings字段ManyToManyField与Toppings关联,我们可以生活常识得出一片披萨上面会有很多种类佐料

    2.4K20

    Django 学习笔记之模型(上)

    它们三者之间关系应该这样:一本书一家出版社出版,一家出版社可以出版很多书。一本书多个作者合写,一个作者可以写很多书。 1)ForeignKey 表示属于模型间关系中多对一关系。...在我们范例模型中,一家出版社 publisher 可以出版很多书 Book。在数据库中, Django 使用 ForeignKey 字段名称+ "_id" 做为数据库中列名称。...你可以通过显式地指定 db_column 来改变该字段列名称,不过,除非你想自定 义 SQL ,否则没必要更改数据库列名称。 它第一个参数必须传入该模型关联类。...在我们范例模型中, Book 有一个 多对多字段 叫做 authors。因为他们关系是一本书多个作者合写,一个作者可以写很多书。...在数据库中 Django 创建一个中间表来表示 ManyToManyField 关系。默认情况下,中间表名称两个关系表名结合而成。所以刚才我们创建数据库表途中,会有四张表,而不是三表。

    1.8K30

    django 1.8 官方文档翻译: 2-3-2 关联对象参考

    在上面的例子中,对于ForeignKey关系,e.save()关联管理器调用,执行更新操作。...然而,在多对多关系中使用add()并不会调用任何 save()方法,而是QuerySet.bulk_create()创建关系。...如果你需要在关系被创建时执行一些自定义逻辑,请监听m2m_changed信号。 create(**kwargs) 创建一个新对象,保存对象,并将它添加到关联对象集之中。...对于ForeignKey对象,这个方法仅在null=True时存在。如果关联字段不能设置为None (NULL),则这个对象在添加到另一个关联之前不能移除关联。...注意 注意对于所有类型关联字段,add()、create()、remove()和clear()都会马上更新数据库。换句话说,在关联任何一端,都不需要再调用save()方法。

    47410

    ORM常用字段介绍

    它包含了你存储数据重要字段和行为。通常,一个模型(model)映射到一个数据库表, 基本情况: 每个模型都是一个Python类,它是django.db.models.Model子类。...模型每个属性都代表一个数据库字段。 综上所述,Django为您提供了一个自动生成数据库访问API 详询官方文档链接。...关系字段 ForeignKey 外键类型在ORM中用来表示外键关联关系,一般把ForeignKey字段设置在 '一对多'中'多'一方。...OneToOneField 一对一字段。 通常一对一字段用来扩展已有字段字段参数 to 设置要关联表。 to_field 设置要关联字段。 on_delete 同ForeignKey字段。...related_query_name 同ForeignKey字段。 symmetrical 仅用于多对多自关联时,指定内部是否创建反向操作字段。默认为True。

    2.5K10

    【云+社区年度正文】Django从入门到精通No.2----模型

    django从入门到精通No.2----模型 一、前言 学过orm系统自然之道模型重要性,很多web站点都需要与数据库交互,这个时候模型设计就显得尤为重要,一个好模型会使得项目方便管理并且易于维护...三、模型字段和约束 这里我们需要在he文件夹中找到models.py文件,然后我们试着改动一下这个文件内容,如下: from django.db import models ​ # Create your...必填参数primary_key=True,则成为数据库主键,无该字段时,django自动创建,一个model不能有两个该字段。...1.多对一 因为是关联关系,所以我们必须指定两个类来进行相互操作,这里涉及到一个外键操作,即ForeignKey字段,而且外键要定义在多一方。...,你可以指定一个中介模型来定义多对多关系,可以将其它字段放在中介模型中,源模型字段使用through参数指向中介模型

    2.1K00

    django ImportExportModelAdmin自定义导出数据

    官方文档:django-import-export django 导出数据到excel 借助官方文档一些数据进行理解: class Author(models.Model): name = models.CharField...class BookResource(resources.ModelResource): class Meta: model = Book # 要影响哪些模型字段将包含在导入导出资源中...name实际得到就是作者名字, 但是在查询时记得使用select_related(),以保证在查询时可以将所关联外键数据一块查出,否则无法使用链式调用, 最下面会有完整例子说明 '''...Field(attribute='published', column_name='published_date') class Meta: model = Book 可以添加目标模型中不存在其他字段...,published,price,categories Some book by 1,2,Some book,1,,0,2012-12-05,8.85,1 自定义小部件 一个ModelResource创建与给定字段类型默认控件字段

    78940

    Django中ORM介绍和字段及其参数

    它包含了你存储数据重要字段和行为。通常,一个模型(model)映射到一个数据库表, 基本情况: 每个模型都是一个Python类,它是django.db.models.Model子类。...关系字段 ForeignKey   外键类型在ORM中用来表示外键关联关系,一般把ForeignKey字段设置在 '一对多'中'多'一方。   ...字段参数 to:设置要关联表; related_name:反向操作时,使用字段名,用于代替原反向查询时'表名_set'(同ForeignKey字段)。...symmetrical:仅用于多对多自关联时,指定内部是否创建反向操作字段。默认为True。...ordering 这个字段是告诉Django模型对象返回记录结果集是按照哪个字段排序

    2.8K80

    django 1.8 官方文档翻译:2-1-1 模型语法

    ForeignKey 需要一个位置参数:与该模型关联类。...你还可以创建递归关联关系(对象和自己进行多对一关联)和 与尚未定义模型关联关系;详见模型字段参考。...建议你用被关联模型小写名称做为ForeignKey 字段名字(例如,上面manufacturer)。当然,你也可以起别的名字。...另见 ForeignKey 字段还接受许多别的参数,在模型字段参考有详细介绍。这些选项帮助定义关联关系应该如何工作;它们都是可选参数。...toppings = models.ManyToManyField(Topping) 和使用ForeignKey 一样,你也可以创建递归关联关系(对象与自己多对多关联)和与尚未定义关系模型关联关系

    5K20

    Python+django网页设计入门(19):创建模型扩展自带用户表字段

    技术要点: 1)创建自定义用户模型,使用一对一映射关系,扩展django自带用户表字段; 2)使用django自带认证和登录功能; 3)登录后获取自定义信息。...3、修改网站项目的urls.py文件,增加新应用路由 ? 4、修改apps\users\models.py文件,增加新模型 ?...5、在PyCharm中执行manage.py命令,使得新模型生效 ? ? 6、修改apps\users\admin.py文件,写入下面的代码,使得管理页面能够管理新建模型 ?...文件内容与前面课程中创建一样。...12、回到管理页面,增加自定义用户,并选择前面步骤创建认证用户 ? ? 13、运行网站,打开登录页面,使用前面步骤创建用户登录 ? 14、登录成功,界面如图所示 ?

    1.4K20

    Django官方文档小结(一) -- Models模型

    Django 关系字段 本文主要内容是关于Django框架中models知识小结 #1 环境 Python3.7.3 Django==2.0.7 #2 字段 #2.1 一对多(ForeignKey)...(to,on_delete,** options) # to : 关联类(必填) # on_delete : 与"关联表"关系(必填) #2.2 自关联 models.ForeignKey(to='...与之关联值设置为可执行对象返回值,设置:models.SET(可执行对象) #2.4 数据库表示 在生成数据库时,Django追加"_id"字段名称来创建其数据库列名,可以通过指定显式更改此内容db_column...正向查找 (Entry->Blog) 存放外键表(Entry)->查->被关联表(Blog) >>> e = models.Entry.objects.get(id=1) >>> e.blog 反向查找 (Blog->Entry) 关联表(Blog)->查->存放外键表(Entry) >>> b = models.Blog.objects.get(id=1) >

    77920

    第 03 篇:创建 Django 博客数据库模型

    ,主要是涉及字段更多。...body = models.TextField() # 这两个列分别表示文章创建时间和最后一次修改时间,存储时间字段用 DateTimeField 类型。...且自 django 2.0 以后,ForeignKey 必须传入一个 on_delete 参数用来指定当关联 # 数据被删除时,被关联数据行为,我们这里假定当某个分类被删除时,该分类下全部文章也同时被删除...且自 django 2.0 以后,ForeignKey 必须传入一个 on_delete 参数用来指定当关联数据被删除时,被关联数据行为,我们这里假定当某个分类被删除时,该分类下全部文章也同时被删除...理解多对一和多对多两种关联关系 我们分别使用了两种关联数据库表形式:ForeignKey和 ManyToManyField。 ForeignKey ForeignKey 表明一种一对多关联关系。

    57140

    django 1.8 官方文档翻译: 2-1-1 模型语法(初稿)

    网站:http://python.usyiyi.cn/django/index.html 模型 模型是有关你数据,简单、确定信息源。它包含了你所储存数据一些必要字段和行为。...通常来说,每个模型都对应数据库中一张表。 基础: 每个模型都是django.db.models.Model类子类。 模型每个属性都表示数据库中一个字段。...ForeignKey 需要一个位置参数:与该 model 关联类。...建议你用被关联 model 小写名称做为 ForeignKey 字段命名 (上例中,我们就是以manufacturer 小写做为命名)。...toppings = models.ManyToManyField(Topping) 和使用 ForeignKey 一样,你也可以创建 递归关联关系(recursive relationships)

    3.1K30

    Django ORM 多表操作

    目录 Django ORM 多表操作 表模型 表关系 创建模型 逆向到表模型 插入数据 ORM 添加数据(添加外键) 一对多(外键 ForeignKey) 一对一 (OneToOneFeild) 多对多...ORM 多表操作 表模型 图书表 出版社表 作者表 作者详情表 表关系 一对一:一对一推荐建在查询频率高一方 一对多:外键字段建在多一方 多对多:外键字段建在查询频率多一方,在Django第三张表不需要创建...,自动创建 ps:外键字段不需要写表名_id后面的_id,ORM创建时候自动添加了_id,以及外键以虚拟字段形式存在 创建模型 '''models.py''' from django.db import...6、若有模型类存在外键,创建数据时,要先创建外键关联模型数据,不然创建包含外键模型数据时,外键关联模型数据会找不到 逆向到表模型 插入数据 ps:插入几条数据方便操作 ORM...给书籍关联出版社字段 pulish_id 传出版社对象 id import os def main(): os.environ.setdefault('DJANGO_SETTINGS_MODULE

    1.8K20

    Django模型

    Django模型 Django模型定义在models.py文件中。模型是MVT中M,也相当于MVC中M。 在Django中,模型必须继承自Model类。...django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列。...下面是Django中常用字段类型详情 字段类型 类型 说明 BigAutoField 自动增长BigIntegerField,通常不用指定,不指定时Django会自动创建属性名为id自动增长属性...外键:通过使用models.ForeignKey来设置外键,ForeignKey第一个参数是要关联模型类名,第二个参数是on_delete。...这是因为Django会默认指定另外一张表id作为关联字段。如下图所示: 可以看到peopleinfo这张表中外键名称是book_id

    1.9K20

    00x: Django models.Model详解

    CREATE TABLE这个SQL语句在这个例子中PostgreSQL来实现, 使用models 一旦你定义好了你模型,你需要告诉Django你将要使用这些models。...字段 model最重要部分而且也是model所需基础部分是它定义数据库字段集合。字段属性来定义。...如果你想声明一个典型主键,只需要在对应字段选项中设置primary_key=True。若Django看到你显式声明了自定义主键,那么Django就不会为你创建一个自增id字段。...每个模型需要明确一个字段作为主键。 verbose字段 除了ForeignKey,ManyToManyField和OneToOneField,每个字段都有一个可选设置参数:详细。...ForeignKey需要一个位置指示参数:当前model相关联class类名。 例如,Car 和Manufacturer(制造商)。

    1.7K20

    Django分组聚合查询实例分享

    ForeignKey(): 外键字段 to= 关联模型类 (一对多) to_file = 关联字段,省略默认关联主键 on_delete (外键关联数据被删除时操作) models.CASCADE...OneToOneField(): 一对一字段 同外键 3, ManyToManyField() :多对多关系 to = 关联模型类 through=关联关系类 through_fields关联关系表中...(本身字段关联字段) 断开外键关联ForeignKey使用(一对多,一对一) # 一对多查询 —-(publish and book) # 方式一 : 不使用外键,在book 中添加 publish_id...— 多对多自动创建关系表 # 断开关联(db_constraint属性)多对多自动创建关系表 (book(外键) and author) # 断开后依然支持Django ORMlianiao 查询语法...多对多手动创建关系表 # 手动创建关系表原因: 可以拥有自身字段,可以通过关系表类名直接获取第三张表 # 手动创建关系表可以让关系表可以拥有更多自身字段,同时通过关系表类名可以直接获取第三张表

    1.8K10

    创建 Django 博客数据库模型

    这样,Django 就可以把这个类翻译成数据库操作语言,在数据库里创建一个名为 category 表格,这个表格一个列名为 name。还有一个列 id,Django 则会自动创建。...,主要是涉及字段更多。...body = models.TextField() # 这两个列分别表示文章创建时间和最后一次修改时间,存储时间字段用 DateTimeField 类型。...author = models.ForeignKey(User) 博客模型代码代码详解 首先是 Category 和 Tag 类,它们均继承自 model.Model 类,这是 Django 规定。...理解多对一和多对多两种关联关系 我们分别使用了两种关联数据库表形式:ForeignKey 和 ManyToManyField。 ForeignKey ForeignKey 表明一种一对多关联关系。

    1.3K60
    领券