自关联
自关联是一种特殊的一对多的关系。 案例:显示广州市的上级地区和下级地区。 地区表: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就可以指定表名。
|