-
q 对象感觉会用到。
f 对象感觉用不到。
查看全部 -
这节看看就好。感觉暂时用不到
查看全部 -
不返回QUERY SET
一类是create, update, delete, exist 这种。按行为目的就不需要返回数据的。
一类是 返回的不是tuple,比如 count(), max() 这些。
另一类是 get(), first(), last(), get_or_create(), 这些返回的model object, 而不是query set. 我的理解就是他们是返回model对象本身,就不用queryset
查看全部 -
这节未来回头多看看。讲了各种sql语句的orm写法。和Join查询的写法。
提到个叫prefetch的东西。回头研究下文档
queryset我的理解就是SQL returned result的python里对应的一个表现类。
查看全部 -
对于某个字段可以适用枚举类。写法是:
charfield(choices=( (1,"free"),(2,"basic"),(3,"premium") ), default = 0)
1 to 1关系的外键用
teacher_id = models.OneToOneField()
django做migration时会自动生成多对多的关系表
查看全部 -
meta:
关于数据库,数据表的一些数据。比如表名,整个表按某个字段排序,
设置permission权限, 设置 unique constrain,设置verbose name 就是人类可读的信息,
verbose_name是在DJ admin 界面会显示的信息
查看全部 -
自关联例子:
有个address table, 里面同时存的是省,市,区信息。要想找到某个省有哪些市,就在本表自查。有个用于关联的字段相当于是forgin key, 叫pid, 就是自己的parent的 pk
查看全部 -
field参数。
一下这些是大部分字段类型都有的共有参数
db_column是=表中实际的column的名字
primary_key=true 可以指定pk
unique=true 该属性值唯一
null=True DB里允许null
blank= True 前端的form里提这个field交时可以为空
db_index = true, 对该属性加index
help_text = 'xxxx', 表单里显示help message
editable= false/trure, 默认是false; true的话这个添加进db后就无法被修改了
verbose_name=
一下这些是某些field type才有的
Charfield
max_length, 就是varchar的最大长度
Datefield
unique_for_date=true, 就是日期要唯一
auto_now_add=true, 自动记录插入时间
auto_now=true, 自动记录更新时间
FloatField
max_digits =3 ,
decimal_places =2 ,
一下是关系型field的参数
on_delete=, 这个表示当关联的表里的记录被删了,该采取什么措施。比如学生表里有tutor_id, 结果tutor表删了一些tutor数据。 那么这些tutor的学生的记录改一起删除呢,还是阻止删除有学生的tutor呢,还是设置tutor_id为null?
这个就是on_delete去定义。
查看全部 -
导入数据方式:
* run sql script
* python脚本。脚本里就是用python django rom去写一些数据创建的语句。
* manage.py loadata xxx.json
查看全部 -
这一节讲了makemigration和migrate这2命令后,django做了什么。
另外提到了如果要删除某个table,除了db里直接删,django代码里删掉相关的model, 和migrations/下面的文件。还要删除数据库里django.migrations的记录
查看全部 -
本节列举了DJANGO ORM中的各种数据类型的field怎么写
查看全部 -
一对一:a = models.OnetoOnefiled()
一对多:a = models.foreignkey()
多对多:a = models.manytomanyfiled()
查看全部 -
https://github.com/liaogx/imooc
查看全部 -
get_or_create(主键-唯一字段,default={})
主键写在外面
查看全部 -
obj.filter.select_realted('字段名')
一对一优化
obj.filter.prefetch_related('字段名')
多对多优化
查看全部
举报