django模型的对象声明在哪里?

时间:2017-07-20 09:03:08

标签: python django

在django文档中,它说我们可以检索数据输入,如下所示

entry = Entry.objects.get(pk=1)

Entry是models.py中的模型类。我试图找到对象的声明,但我无法在manager.py中找到它的声明,只知道它是Manager的一个实例。那么,对象的声明在哪里?它是否代表一组Entry实例?

2 个答案:

答案 0 :(得分:1)

定义模型时,可以从django.db.models模块扩展Model类。 它将在对象属性中提供默认的模型管理器。

如果要定义自定义模型管理器,可以通过继承django.db.models.Manager类来完成。 查看文档如何执行此操作:https://docs.djangoproject.com/en/1.11/topics/db/managers/

如果要使用数据集合进行操作,请将方法添加到自定义模型管理器。如果使用单行操作,请将方法添加到模型中。

答案 1 :(得分:0)

它在ModelBase中定义,它是模型类的元类。见https://github.com/django/django/blob/master/django/db/models/base.py#L360