django 设置外键的时候,related_name的值大写还是小写,规则怎样
django 设置外键的时候,related_name的值大写还是小写,规则怎样
在Django中,related_name
参数用于定义反向关系的名称,即通过外键字段反向查询关联模型的对象。related_name
的值是一个字符串,可以是大写也可以是小写,但通常建议使用小写字母,因为它们更符合Python的命名约定(PEP 8)。
具体规则如下:
- 小写字母:通常情况下,建议使用小写字母作为
related_name
的值。例如:class Author(models.Model):
name = models.CharField(max_length=100) class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')在这个示例中,
related_name
的值是'books',这使得你可以通过author.books.all()
来获取一个作者的所有书籍。 - 大写字母:如果你愿意,也可以使用大写字母作为
related_name
的值,但这不是推荐的做法。例如:class Author(models.Model):
name = models.CharField(max_length=100) class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='Books')在这个示例中,
related_name
的值是'Books',你可以通过author.Books.all()
来获取一个作者的所有书籍。然而,这种命名风格在Python中不太常见,通常不建议这样做。总之,虽然
related_name
的值不受大小写的强制限制,但在实际开发中,小写字母更符合通用的Python编码惯例。
django 设置外键的时候,related_name的值大写还是小写,规则怎样的更多相关文章
- (转)mysql 无法设置外键的原因总结
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1. 两个字段的类型或者大小不严格匹配.例如,如果一个 ...
- 关于mysql设置外键,实现参照性完整性约束,以及workbench上的一个bug(?)
一.本次数据库中有student,course,sc表,其设置情况 -- 创建course表 CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) D ...
- navicat如何设置外键
今天上午刚刚弄明白了在navicat for mysql上如何设置外键,现在分享出来,希望能够对大家有帮助. 先介绍一下基本情况.现在有两个表一张是teacher表一张是dept表,现在我想把teac ...
- 如何在MySQL中设置外键约束
引用:http://blog.sina.com.cn/s/blog_53729e4601011wja.html MySql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个: 一个是 ...
- Sqlite 设置外键级联更新
Sqlite 设置外键级联更新 选择好外键表和列以后,勾选更新事件,更新方式设置为CASCADE,即可在外键更新时自动更新
- MySQL设置外键报错 #1452 - Cannot add or update a child row: a foreign key constraint fails 解决方法
MySQL数据库,当我尝试在A表中设置B表的主键为外键时,报出错误:#1452 - Cannot add or update a child row: a foreign key constraint ...
- mysql 设置外键约束时如何删除数据
Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新 ...
- mysql 设置外键约束SET FOREIGN_KEY_CHECKS=1
问题描述:Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构 解决方法: 在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sq ...
- django ORM 外键详解
Django中的外键: 首先,为了方便理解,我们把使用ForeignKey的字段所在的表定义为从表,把ForeignKey中to参数连接的表称为主表. 外键使用的先决条件: 在mysql数据表中,数据 ...
- django2.0变动数据库设置外键报错
1.报错TypeError: __init__() missing 1 required positional argument: 'on_delete' django2.0以后创建数据库外键的时候必 ...
随机推荐
- vue3 如何在 jsx中使用 component 组件
component 组件不像其它的内置组件(tansition.transitionGroup),可以直接从 vue 中直接导出,所有要在 jsx 使用component就要使用 h 函数 使用 vu ...
- Swoole 源码分析之 WebSocket 模块
首发原文链接:Swoole 源码分析之 WebSocket 模块 大家好,我是码农先森. Swoole 源码分析之 WebSocket 模块 引言 WebSocket 是一种在单个 TCP 连接上进行 ...
- 高精度离线免费 的C#文字识别PaddleOCR库
随便打开一个Microsoft Visual Studio,新建一个WinForms项目,从下面列表中随便选择一个NET框架.目标平台要设置成X64,该OCR仅支持64位. net35;net40;n ...
- kubernetes ingress部署
ingress概念 ingress与service,deployment同样都是k8s中的一种资源 ingress用于实现域名方式访问k8s内部应用 安装ingress 1. 安装helm: wget ...
- NOIP模拟91(多校24)
T1 破门而入 解题思路 签到题(然而我数组开小直接变成暴力分...) 发现其实就是第一类斯特林数,然后 \(n^2\) 推就好了. 感觉可以用 NTT 优化成 \(nlogn\) ,但是好像并没有什 ...
- C# 利用Autofac批量接口注入依赖【学习记录】
背景: 本人在一位大佬的Colder框架中看到了这个接口注入,然后呢就想学习一下ioc思想与di设计模式.此写法给我的感觉就是 非常的 优雅 ,优雅永不过时.关于接口注入的概念和ioc和di具体是什么 ...
- nodejs加jq来实现下载word文档
先看效果 浏览器上: 下载的效果: 第一步是自己先搭建前端页面把自己写的结构数据全部传到后端 下面就是整个的结构 结构分析后端拿到数据后端解析: 第一层菜单层: { role: '分析报告', //顶 ...
- #define 用法解法
宏的优点是能整理代码 缺点是宏替换来的代码需要人工解除宏后才能暴漏源代码 改底层时候是需要解一解的 它可以做到main函数中只有一个宏字母 这个宏定义时候,定义成了几个函数的源代码 所以main里面就 ...
- docker容器单机编排
随着网站架构的升级,容器也使用的越发频繁,应用服务和容器间的关系也越发复杂. 这就要求研发人员能够更好的方法去管理数量较多的容器服务,而不能手动的去挨个管理. 例如一个LNMP的架构,就得部署web服 ...
- json LocalDateTime转对象
json LocalDateTime转对象 feign.codec.DecodeException: JSON parse error: Can not deserialize instance of ...