[英]How django add objects attribute to model classes?
就像Django文档中一样
默认情况下,Django将带有名称对象的Manager添加到每个Django模型类中
Django如何为模型类添加属性? 是否从models.Model
或Django
继承,可以向每个模型动态添加objects=models.Manager()
?
它会动态添加到每个模型类中,除非您自己添加一个。
def _prepare(cls):
"""Create some methods once self._meta has been populated."""
opts = cls._meta
opts._prepare(cls)
...
if not opts.managers:
if any(f.name == 'objects' for f in opts.fields):
raise ValueError(
"Model %s must specify a custom Manager, because it has a "
"field named 'objects'." % cls.__name__
)
manager = Manager()
manager.auto_created = True
cls.add_to_class('objects', manager)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.