本篇文章首席CTO笔记来给大家介绍有关django的双下划线叫什么以及django 双下划线的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、Python中下划线是什么意思2、Django表关联对象及多表查询3、django配置Xadmin4、python 变量单下划线和双下划线的区别Python中下划线是什么意思
1、用在Python解释器,表示上一次的执行结果
即使不把Python用于编程,也可以把它用作智能计算器,下划线保存上次的计算结果,在计算时相当方便:
4 + 3
7
_
7
_ + 2
9
a = 10
_
9
2、代码中一个独立的下划线,表示这个变量不重要
一个独立的下划线,它也是一个变量名,只不过它比较特殊,当你使用下划线作为变量名时,就代表你告诉大家,这个变量不重要,仅仅占个位置,可以忽略,后面不会再使用它。
当然了,这只是一种约定俗成,你要是不遵守也是可以的,毕竟在后面你还可以通过下划线来获取这个变量的值。
for i, _ in [(1. 2), (3. 4)]:
print(i)
上面的代码表示我们只需要列表内部元组的第一个,第二个其实赋值给了下划线,虽然后面你可以通过下滑线来取到值,但是强烈建议你不要这么做,这违反了约定。
3、双下划线开头和结尾的方法,是魔术方法
比如常见的"__int__"、"__dict__"、"__dir__"、"__doc__"、"__eq__"等等。
4、作为变量名中间的一部分
相比驼峰命名,这叫做蛇形命名,比如user_name。
5、作为数字中间的一部分,更易读
10_000_000
10000000
1_280_500_000 == 1280500000
True
Django表关联对象及多表查询
首先建立Student,Dpartment,Course,Stu_info表
一对多表关系数据的添加:
1.第一种方式就是跟之前的一样,用传参的方法添加,需要注意的是外键的值必须是关联表中已经存在的值.
2.第二种方式是用的属性赋值的方式,因为我们在模型类有定义了一个department的属性,而这个属性的对象的类型必须是department表的类实例对象
表关联对象的访问:
Student的模型类中我们有定义department的属性,所以当我们去访问的时候,可以直接通过student.department的形式去找到某个学生的所属学院是哪个.
那么如果我们也希望在在访问某个学院的实现对象的学生的时候改怎么访问呢???
表关联对象的访问:
可以在定义时设置related_name 参数来覆盖foo_set 的名称.
clear() 从关联的对象集中删除所有的对象
多表查询----跨关联关系的查询:
Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:
它还可以反向工作。若要引用一个“反向”的关系,只需要使用该模型的小写的名称。
django配置Xadmin
xadmin的使用,首先需要对model进行注册,才能在后台管理中进行操作。
1、在app里创建py文件:adminx(必须这个名称)
2、导入xadmin和models里的类:
其中list_display、search_fields和list_filter
PS:这三个名称是固定的。
对于外键的内容显示,用双下划线分开:
xadmin的全局配置:
在users的adminx里:
1、导入views模块,然后创建类,其中enbale_themes和use_bootswatch名称固定
2、然后进行注册,第一个参数:views.BaseAdminView,第二个是上面创建的类。
3、可以看到主题。
4、创建一个类,其中site_title、site_footer和menu_style名称固定,分别对应后台左上角的标题、底部的名称和左侧选项卡是否收缩。
5、注册:views.CommAdminView和GlobalSettings
6、效果:
7、让选项卡名称变成中文:
app里有个文件apps,加上下面这一行
在init文件里加上这条:default_app_config ="app名称。apps。类名"
python 变量单下划线和双下划线的区别
1、_xxx 不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。
即保护类型只能允许其本身与子类进行访问。
2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也
不可以
3、__xxx___ 定义的是特列方法。像__init__之类的
结语:以上就是首席CTO笔记为大家整理的关于django的双下划线叫什么的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django 双下划线、django的双下划线叫什么的相关内容别忘了在本站进行查找喔。