首页 > 其他分享 >django 设置外键的时候,related_name的值大写还是小写,规则怎样

django 设置外键的时候,related_name的值大写还是小写,规则怎样

时间:2023-10-10 15:33:23浏览次数:36  
标签:name Author models related django 小写字母 100

django 设置外键的时候,related_name的值大写还是小写,规则怎样

在Django中,related_name参数用于定义反向关系的名称,即通过外键字段反向查询关联模型的对象。related_name的值是一个字符串,可以是大写也可以是小写,但通常建议使用小写字母,因为它们更符合Python的命名约定(PEP 8)。

具体规则如下:

  1. 小写字母:通常情况下,建议使用小写字母作为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()来获取一个作者的所有书籍。

  2. 大写字母:如果你愿意,也可以使用大写字母作为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编码惯例。

标签:name,Author,models,related,django,小写字母,100
From: https://www.cnblogs.com/beichengshiqiao/p/17754807.html

相关文章

  • Django实战项目-学习任务系统-用户注册
    接着上期代码框架,开发第2个功能,用户注册,在原有用户模型基础上,增加一个学生用户属性表,用来关联学生用户的各种属性值,这个属性表是参考网络小说里系统属性值设计的,方便直观了解用户的能力高低,等级以及积分值等信息。 第一步:编写第二个功能-用户注册1,编辑模型文件:./mysite/study......
  • Django RestFramework、Celery及Channels
    DjangoRESTFramework什么是RESTfulAPIRESTfulAPI是一种基于HTTP协议的接口设计风格,它使用统一的接口和资源的概念来定义和操作网络应用程序的功能和数据。RESTfulAPI使用HTTP动词(GET、POST、PUT、DELETE等)来表示操作类型,并使用URL来标识资源。传统风格的HTTP接口常用授......
  • Django 数据库--values_list 指定字段取值及 distinct 去重处理
    通过QuerySet会返回model的所有字段,通过obj.field_name即可获取对应字段的数据values():获取某一个或者某几个字段的数据指定字段使用values()指定参数可以仅仅返回相应字段的字典列表,如:name_dict_list=Project.objects.values('name')则name_dict_list= <Q......
  • ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全
    "ModuleNotFoundError:Nomodulenamed'xxx'"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多,下面是我曾经遇到过的原因和解决方案module包没安装忘了import没有__init__.py文件package包的版本不对自定义的包名与安装的包名相同,导致i......
  • Django发送邮件
    Django发送邮件在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装。首先,我们需要在项目的settings文件中配置邮件发送参数,分别如下#使用本地文件作为邮件后端EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'##使用控制台作为......
  • Django模型及Admin
    Django简介什么是DjangoDjango是一个开源的PythonWeb框架,由DjangoSoftwareFoundation开发和维护。Django的目标是让Web开发更加快速、简单和高效,提供了许多内置的功能和库,如ORM、模板引擎、表单处理、认证、管理后台等。1.2Django的优点及特点高效快速:Django提供了许多......
  • Django实战项目-学习任务系统-用户登录
    第一步:先创建一个Django应用程序框架代码1,先创建一个Django项目django-adminstartprojectmysite将创建一个目录,其布局如下:mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.py2,再创建一个Dja......
  • [已解决] Compilation error ptxas fatal : Value ‘sm_30‘ is not defined for opti
    在用cmake编译cuda程序时,总是报Compilationerrorptxasfatal:Value‘sm_30’isnotdefinedforoption‘gpu-name’问题,也是折腾了好久,感谢这位小哥的解决方案,亲试无误,万分感谢~转载:https://blog.csdn.net/Fucking_Code0916/article/details/132429186安装tiny-cudann出......
  • 基于Django的智慧旅游系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要在各学校的教学过程中,智慧旅游系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的智慧旅游系统,这样可以有效地解决智慧旅游管理信息混乱的局面。......
  • 《制作Docker镜像》——以Django镜像为例
    一、建一个基础的Ubuntu环境执行以下指令,docker就会搞一个ubuntu环境,如果你没有嘞?它就会自己下载的。dockerrun-itubtuntu然后你就会发现,自己进入了镜像了。二、给容器换源那么这个我们就只需要去清华的镜像。然后选择自己对应的版本。【--->Ubuntu软件仓库<---】接......