python课堂笔记之django-day01(8)

自关联
python课堂笔记之django-day01(8)_第1张图片
自关联是一种特殊的一对多的关系。
案例:显示广州市的上级地区和下级地区。
地区表:id, title, parenteid;
mysql终端中批量执行sql语句:source areas.sql;
管理器
BookInfo.objects.all()->objects是一个什么东西呢?
答:objects是Django帮我自动生成的管理器对象,通过这个管理器可以实现对数据的查询。
objects是models.Manger类的一个对象。自定义管理器之后Django不再帮我们生成默认的objects管理器。
1) 自定义一个管理器类,这个类继承models.Manger类。
2) 再在具体的模型类里定义一个自定义管理器类的对象。
自定义管理器类的应用场景:
1) 改变查询的结果集。
比如调用BookInfo.books.all()返回的是没有删除的图书的数据。
2) 添加额外的方法。
管理器类中定义一个方法帮我们创建对应的模型类对象。
使用self.model()就可以创建一个跟自定义管理器对应的模型类对象。
元选项
Django默认生成的表名:
应用名小写_模型类名小写。
元选项:
需要在模型类中定义一个元类Meta,在里面定义一个类属性db_table就可以指定表名。

你可能感兴趣的:(Python)