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

django-ForeignKey,OneToOneField,ManyToManyField

进入到django自带related.py中,可以看到 1.ForeignKey 初始化参数有: to, on_delete, related_name=None, related_query_name...models.Model): book = models.ForeignKey(to='Author',on_delete=models.CASCADE,to_field='id') to:被关联表名称...on_delete:删除带有外键信息时,定义了删除操作: CASCADE:删除作者信息一并删除作者名下所有书信息; PROTECT:删除作者信息时,采取保护机制,抛出错误:即不删除Books...内容; SET_NULL:只有当null=True才将关联内容置空; SET_DEFAULT:设置为默认值; SET( ):括号里可以是函数,设置为自己定义东西; DO_NOTHING:字面的意思...,啥也不干,你删除你干我毛线关系; to_field:被关联字段,一般是主键,也可以是值唯一字段 2.OneToOne 初始化参数有: to, on_delete, to_field=None,

68330
您找到你想要的搜索结果了吗?
是的
没有找到

django中ModelForm多表单组合解决方案

3、通用视图 django.views.generic.ListView和django.views.generic.edit下CreateView, UpdateView, DeleteView都是通用视图...这里仅以CreateView为例说明,因为它相对最复杂,接下来多ModelForm提交也是在CreateView上进行。...比如CreateView就会由django自动把页面上POST出form数据解析到model生成表单(或者form_calss指定ModelForm类型表单),同时调用表单save方法将数据添加到模型对应数据库表中...我们看看CreateView继承关系: 简单介绍下CreateView通用视图中每个父类作用。...在django模型中就体现为ForeignKey、ManyToManyField或者OneToOneField。而在业务逻辑上,需要体现为一张表单,对应着数据库里多张表。

3.3K20

基于Django OneToOneField和ForeignKey区别详解

相反地,使用ForeignKey, 反向关联后会返回QuerySet。...relate_name, 则是对方类名小写_set [<Car2: Mazda ] 补充知识:Django ForeignKey,ManyToManyField和OneToOneField辨析 导引...我们可以根据生活常识理解这种定义,由于一部汽车对应一个生产商,而一个生产商可以对应许多部汽车,所以两者具有“一对多”关系,在此种情况我们使用ForeignKey。...ManyToManyField类有两个经常使用参数:through和through_fields,通过这两个参数可以十分方便地建立中间项关联,如示例代码所示: from django.db import...ManyToManyField,其为这一字段建立一个单独属性,而是设定symmetrical属性为True,若期望使用此类迭代关系,可以手动设置其为False through 如上所示,用于设置中间项名字

2.3K20

Django使用django-apscheduler问题

Django定时任务 由于业务需要,后台要有一个定时任务功能,起初考虑单独出来使用Linux系统corn来实现。但是考虑到这样会很不方便。...于是便寻找定时任务模块,就找到了APScheduler,考虑到要在Django使用,后来就采用了django-apscheduler来作为定时任务模块,但是这个模块本身有bug。...Django定时任务不要使用django-apscheduler模块,直接使用APScheduler模块即可。...APScheduler官方使用指南,在这份指南中明确指出django-apscheduler并不是官方支持。...使用APScheduler 现在,我们避免了django-apscheduler模块抛出异常问题,但是我们还有一个问题等待解决,那就是uWsgi使用多进程模式启动Django项目,因此我们会有多个进程去执行这个定时任务

2K30

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

# 而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 # ManyToManyField,表明这是多对多关联关系。...提示: 在本教程中我们会教你这些类型使用方法,但以后你开发自己项目时,你就需要通过阅读 django 官方文档 关于字段类型介绍[1] 来了解有哪些数据类型可以使用以及如何使用它们。...而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 ManyToManyField,表明这是多对多关联关系。...理解多对一和多对多两种关联关系 我们分别使用了两种关联数据库表形式:ForeignKey和 ManyToManyField。 ForeignKey ForeignKey 表明一种一对多关联关系。...详细示例[3]•django ManyToManyField 简介[4]•django ManyToManyField 详细示例[5] References [1] 关于字段类型介绍: https:/

55240

创建 Django 博客数据库模型

# 而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 ManyToManyField,表明这是多对多关联关系。...在本教程中我们会教你这些类型使用方法,但以后你开发自己项目时,你就需要通过阅读Django 官方文档 关于字段类型介绍 来了解有哪些数据类型可以使用以及如何使用它们。...而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 ManyToManyField,表明这是多对多关联关系。...理解多对一和多对多两种关联关系 我们分别使用了两种关联数据库表形式:ForeignKey 和 ManyToManyField。 ForeignKey ForeignKey 表明一种一对多关联关系。...Django ManyToManyField 简介 Django ManyToManyField 详细示例 总结 本章节代码位于:Step3: blog models。

1.3K60

python-Django-URL 路由(二)

Django URL路由示例 下面是一个简单Django应用程序示例,它使用URL路由来处理客户端请求。...第三个URL模式是“post/slug:slug/”,它将请求映射到我们之前定义post_detail视图函数,并使用一个命名捕获组来表示文章slug。...from django.views.generic.edit import CreateView, UpdateView from django.contrib.auth.decorators import...视图函数获取文章slug,并使用get_object_or_404函数从数据库中获取文章对象。然后,视图函数将文章对象传递给包含文章详细信息HTML模板。...这个视图函数使用Django通用视图类CreateView来处理创建新文章表单,然后重定向到post_list视图函数,这个视图函数将渲染一个包含所有文章列表HTML模板。

80620

django 模型关系

模型关系 关系数据库威力体现在表之间相互关联,Django提供了三种最常见数据库关系:多对一 (many-to-one),多对多(many-to-many),一对一(one-to-one)...多对一关系 多对多关系 一对一关系 多对一 django使用django.db.models.ForeignKey 定义多对一关系 ForeignKey需要一个位置参数来指定本Model关联Model...,ForeignKey关联Model 是"一", ForeignKey所在Model是"多" 比如汽车和制造商例子,一辆汽车只能属于一个制造商,但是一个制造商有多辆汽车,这个关系,用Django...clear() #从关联对象集中删除所有的对象 多对多 要实现多对多,就要使用django.db.models.ManyToManyField类,和ForeignKey一样,它也有一个位置参数,用来指定和它关联...(Group) 建议以被关联模型名称复数形式做为 ManyToManyField 名字 在哪个模型中设置 ManyToManyField 并不重要,在两个模型中任选一个即可——不要在两个模型中都设置

1.4K30

Django内置通用类视图及实例

: 指定在上下文中使用变量名称. pk_url_kwarg: URLconf中,包含逐渐关键字参数名称.默认为'pk'. get_context_data:返回显示对象上下文数据....参数,如果找到了这个参数,该方法使用这个参数值执行一个基于逐渐查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug查询.当query_pk_and_slug...显示用于编辑现有对象表单视图,重新显示具有验证错误信息视图,并且保存对象.这里使用从对象模型自动生成表单(除非手动制定表单类)....django.views.generic.edit import CreateView, UpdateView, DeleteView from django.core.urlresolvers import...可以直接用Django通用视图里UpdateView和CreateView

2.9K40

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

Django 根据字段类类型确定以下信息: 数据库当中列类型 (比如,INTEGER, VARCHAR)。 Django 用户管理界面所使用部件(widget)。...通常来说,如果启用了 Django 管理后台,你就可以在后台将 ManyToManyField 实例添加到关联对象中。...多对多关系中其他字段 处理类似搭配 pizza 和 topping 这样简单多对多关系时,使用标准 ManyToManyField 就可以了。...你可以将其他字段放在中介 model 里面,而主 model ManyToManyField 使用 through 参数来指向中介 model 。...小心使用 related_name 如果你在 ForeignKey 或 ManyToManyField 字段上使用 related_name 属性,你必须总是为该字段指定一个唯一反向名称。

3.1K30

基于Django signals 信号作用及用法详解

using:被使用数据库别名 7)m2m_changed() django.db.models.signals.m2m_changed 当一个modelManyToManyField发生改变时候被发送...参数: sender:描述ManyToManyField中间模型类,这个中间模型类会在一个many-to-many字段被定义时自动被创建。...我们可以通过使用many-to-many字段through属性来访问它 instance:被更新多对多关系实例。它可以是上面的sender,也可以是ManyToManyField关系类。...p.toppings.add(t) 这样,对应上面的参数分别如下: sender:描述ManyToManyField中间类,即Pizza.toppings.through instance:被更新多对多关系实例...这个信号通常是在Django内部使用,一般不会被第三方应用使用

2K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券