首页 > 其他分享 >models.ForeignKey()的一些相关参数说明

models.ForeignKey()的一些相关参数说明

时间:2023-04-08 17:34:10浏览次数:41  
标签:name ForeignKey models 模型 指定 关联 对象 参数 True

models.ForeignKey() 是 Django ORM 中的一个字段类型,用于定义关联关系。在使用 models.ForeignKey() 时,可以传入一些参数来控制关联行为。以下是一些常用的参数说明:

to:指定关联的目标模型类。

on_delete:指定当关联对象被删除时的行为。CASCADE或者SET_NULL

related_name:指定反向关联的名称。

to_field:指定关联的目标模型类中用于关联的字段名称。

db_index:如果为 True,则在目标模型的关联字段上创建索引。

null 和 blank:指定关联字段是否可以为空。

limit_choices_to:指定关联对象的过滤条件。

verbose_name 和 help_text:用于在 Django Admin 后台中显示字段名称和帮助文本。
以下是一些参数的详细说明:

to:指定关联的目标模型类。可以使用字符串表示模型类的路径,也可以直接使用模型类的引用。例如:to='myapp.MyModel' 或 to=MyModel。

on_delete:指定当关联对象被删除时的行为。可以设置以下几个选项:

CASCADE:级联删除,即删除关联对象时同时删除所有依赖它的对象。

PROTECT:保护模式,即阻止删除关联对象,抛出 ProtectedError 异常。

SET_NULL:将关联字段设置为 NULL。

SET_DEFAULT:将关联字段设置为默认值。

SET():将关联字段设置为指定的值,可以是一个字典、一个 QuerySet 或一个常量。

DO_NOTHING:什么也不做。

related_name:指定反向关联的名称,默认为 模型类名_set。例如:related_name='myfield',可以通过 myfield 属性来访问反向关联的对象。

to_field:指定关联的目标模型类中用于关联的字段名称。默认为主键字段。

db_index:如果为 True,则在目标模型的关联字段上创建索引。

null 和 blank:指定关联字段是否可以为空。如果 null=True,则数据库中该字段将允许 NULL 值。如果 blank=True,则表单中该字段可以为空。

limit_choices_to:指定关联对象的过滤条件。可以是一个字典、一个 QuerySet 或一个函数。例如:limit_choices_to={'is_active': True},表示只能关联到 is_active=True 的对象。

verbose_name 和 help_text:用于在 Django Admin 后台中显示字段名称和帮助文本。例如:verbose_name='作者',help_text='请输入作者名称'。

标签:name,ForeignKey,models,模型,指定,关联,对象,参数,True
From: https://www.cnblogs.com/zx529/p/17298870.html

相关文章

  • Jmeter参数化的方式-用户参数、用户自定义变量、CSV文件设置、函数助手
    一、jmeter的主要功能参数化:事先准备好数据,脚本执行时从准备好的数据中取值;可将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;在脚本运行时,根据需要选取不同的参数值作为输入,该方式成为数据驱动测试(DataDrivernTest,DDT),参数的取值范围称为数据池(Data......
  • django model ForeignKey ,解决外键字段增加_id 的问题
    例如:主表-模型: Author:id,name副表-模型:Book:id,author(ForeignKey:Author),name 1.数据库字段增加_id的问题,网上有很多教程,可以使用 db_column='yourname'2.当Book查询中,使用filter,all等查询,都会得到字段author_id,而不是author,可以使用values(),方法指定字段名称,例......
  • hibernate-validator 主动调用进行参数校验
    问题背景hibernate-validator一般通过在对象或者类上加注解的方式对Controller中的方法参数进行校验,现需要在其他地方也可对主动对对象中的参数进行校验代码importlombok.experimental.UtilityClass;importjavax.validation.ConstraintViolation;importjavax.validatio......
  • 服务 API 设计之 ——API 参数规范
    【强制】字段名称用小驼峰风格【强制】ServiceAPI返回值必须使用Response包装ServiceAPI返回值强制要求进行通用包装,例如:Response。Response的作用:统一方法表示API调用是否成功API调用失败时,统一格式反馈错误Code,错误Message统一的Response易于调用方经验复用,框架集......
  • druid yml 参数配置
    spring: datasource: #druid连接池 type:com.alibaba.druid.pool.DruidDataSource #数据库驱动 driver:com.mysql.jdbc.Driver #最大连接池数量 max-active:20 #初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 initial-size:10......
  • Algorithm参数记录
    一、vector<Point2f>vector是一个存储二维点坐标的容器,其中每个元素都是一个Point2f类型的对象。在OpenCV中,Point2f表示一个由两个单精度浮点数构成的二维点坐标。你可以使用vector来存储一些二维坐标信息,比如图像中的关键点或轮廓点等。具体用法可以参考下面的示例:#include<o......
  • 二极管参数详解
    最大平均整流电流IF: 指二极管长时间工作时允许的最大正向平均电流。这个电流是由PN结的结面积和散热条件决定的。使用时要注意,通过二极管的平均电流不能超过这个值,要满足散热条件。例如,1N4000系列二极管的中频为1A。最大反向工作电压VR :指二极管两端允许施加的最大反向电压......
  • 微信生成带参数二维码,跳转公众号
    classWxfollow{protected$appid='wxf1d959b99f33b156';protected$secret='248f3a560604555ec96215c085cb2723';protected$url="";protected$access_tokens="";publicfunction__con......
  • 支付宝网站支付即时到帐(一) 参数的文档地址
    必备物品:企业支付宝账号官网: https://open.alipay.com/platform/home.htm第一步 创建网站应用 并完善信息 这一步很简单添加上网站支付的功能第二步 找到即时到帐的文档https://docs.open.alipay.com/62/103566上面有获取pid的方法https://docs.open.alipay.com/common/10473......
  • Django之models
    常用字段and非常用字段autofieldint自增列,必须填入参数primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。但是这个基本咋没用过,建表也都是使用的默认idIntegerField一个整数类型,范围在-2147483648to2147483647CharField这个最常用,啥都能用他,......