繁体   English   中英

django如何将对象属性添加到模型类?

[英]How django add objects attribute to model classes?

就像Django文档中一样

默认情况下,Django将带有名称对象的Manager添加到每个Django模型类中

Django如何为模型类添加属性? 是否从models.ModelDjango继承,可以向每个模型动态添加objects=models.Manager()

它会动态添加到每个模型类中,除非您自己添加一个。

看看ModelBase._prepare

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM