1.自定义管理器(Manager)
在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager....(至于行级功能,也就是只作用于模型实例对象的函数,则通过自定义模型方法实现)....的一个实例,因为如果我们不这样做,那么dahl_objects将成为唯一一个可用的manager....如果您在方法定义中使用了*args, **kwargs,您将保证您的代码在添加时将自动支持这些参数。...上面的示例中,clean()引发的ValidationError异常通过一个字符串实例化,所以它将被保存在一个特殊的错误字典中,键为NON_FIELD_ERRORS.这个键用于整个模型出现的错误而不是一个特定字段穿线的错误