问题标签 [django-managers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
40 浏览

django - Django继承模型实例创建功能

假设我有以下,Model_1有 1 个整数,Model_2继承Model_1并添加另一个整数。

问题:

  1. create()函数是否Model_2Manager按原样正确编写?
  2. 有什么方法可以让我调用Model_1Manager'screate()函数吗?那将如何运作?
0 投票
1 回答
3462 浏览

django - Django 模型与经理

不太确定有什么区别。似乎 Manager 所做的只是拥有一堆与模型相关的功能。但是这些功能也可以放在模型中......

Django 文档对 Manager 的描述如下,

管理器是向 Django 模型提供数据库查询操作的接口。

那么除了这个简单的抽象之外,Manager 还有什么根本不同的地方吗?

或者一个更好的问题:在模型和管理器中应该定义什么方法?有实际差异还是只是风格上的差异?

0 投票
2 回答
76 浏览

django - Django Manager中的“对象”是什么

通常我会通过SomeModel.objects().

我注意到在模型内部,objects被定义为某个 Manager,例如objects=SomeManager().

那么,如果我在 Manager 中定义一个方法,我将如何访问objects

如...

如果我想过滤一些东西,我想我可以SomeModel.objects.filter在经理内部做,但不知何故感觉很奇怪。会是类似的self.filter东西吗?

0 投票
1 回答
3602 浏览

mysql - Django 错误:AttributeError at - 'Manager' 对象没有属性 'META'

我正在使用 django 1.4 和 python 2.7

我正在尝试从 MySQL 数据库中获取数据...views.py:

一旦我取消注释'request = ProjectRequest.objects',我就会收到错误消息:

我没有定义任何新的用户模型,所以这个错误对我来说毫无意义。异常位置:

模型请求.py:

知道发生了什么吗?!

0 投票
3 回答
403 浏览

python - Django 经理返回今天的所有条目 - DateTimeField

我将如何创建一个经理,它将返回模型中具有今天日期的所有条目,模型字段是日期时间字段,而不是日期字段?

这是我尝试过的,但它返回 0 个对象,应该有。

打印 Entries.allowed_entries.all() >>>> []

0 投票
2 回答
2345 浏览

django - Django:在过滤器和搜索中使用 JSONField 属性

我正在尝试创建一个自定义过滤器并在 Django 列表视图中搜索,该列表视图将使用存储在 JSONField 中的值,就像它们被定义为常规模型字段一样。

我想我需要定义一个带有自定义get_queryset()函数的模型管理器,但我不确定如何“脱水”json数据并将其作为查询集的一部分返回。

到目前为止,其他一些方法都失败了:我可以将值插入到 custom 中的上下文字典中ListView,但无法查询该上下文。还尝试在 admin.py 中定义属性并将一些 @property 定义包装在 models.py 中;在这里遇到同样的问题,因为无法查询属性。

有什么建议么?

0 投票
1 回答
15383 浏览

django - 带有过滤参数的 django 自定义管理器

我想添加一个自定义管理器,它可以从模板中调用,但不影响整个模型(例如管理视图),它会监听请求中的参数集(user_profile)。

以下是我到目前为止所拥有的:

模型.py:

对于模型 B 定义:

模板调用:

但是,一旦我尝试将参数传递给该过滤器(在这种情况下是存储在用户配置文件中的日期),该方法就不会返回任何结果。

例如:

模型.py

显示A.html

我没有从模板中传递参数,而是尝试在 view.py 中设置它

我在这里遗漏了(或误解)哪一部分?

谢谢

R

编辑

这里是模型。如前所述,在此示例中,这是一个简单的 1:n 关系,但在其他情况下也可以是 m:n。

编辑-2

接受的答案至少适用于一种关系。
如果是更嵌套的数据模型,此方法似乎无法提供预期的结果:

模型.py

视图.py

这将返回错误:'QuerySet' object has no attribute 'c_set'

0 投票
1 回答
1614 浏览

django - Django中多个模型的单个自定义管理器

我有几个模型通过 ForeignKeys 关系相互连接。
这种层次结构中的主要部分包含一个所有者字段。

我想为所有这些模型创建一个自定义管理器,根据调用它的模型更改返回的查询集。

我知道经理可以访问self.model以获取它所附加的模型。

我希望我的客户经理有这种行为:

为了在不同的模型中以一致的方式调用它,如下所示:

问题:

  • self.model == 'Main'是错的。我没有这样的型号名称。有没有办法得到它?
  • 这有效率吗?你知道一个更好的方法来实现这个吗?也许自定义经理继承?

编辑-我的解决方案: 下面接受的答案是一个很好的解决方案,但我还找到了一种方法来获取调用自定义管理器的特定模型的模型名称,即:

这里的关键是属性__name__

0 投票
1 回答
219 浏览

django - 在 django 管理器中实现过滤器时出现属性错误

我在我的 django 项目中有一个经理,并且正在实施如下过滤器。
我启动 django shell 并收到此错误:

该文件manager.py如下所示:

我的模型中有这个模型models.py

这一行可能出现的错误是什么?

0 投票
2 回答
1307 浏览

django - 如何使自定义管理器在 django 中使用非默认数据库?

我想为存储在我的数据库“db2”中的模型创建一个自定义管理器,这样我就不必这样做了model.objects.using('db2').all()。我的模型和自定义管理器的代码是

我在这里做什么以及如何使它工作有什么问题?