问题标签 [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 回答
1928 浏览

django - 使用自定义管理器使用 django 创建对象的目的?

我在 Django 文档中看到:

模型实例参考:创建对象

您可能很想通过覆盖该__init__方法来自定义模型。但是,如果您这样做,请注意不要更改调用签名,因为任何更改都可能导致模型实例无法保存。
而不是覆盖__init__,尝试使用以下方法之一:

  • 在模型类上添加一个类方法。
  • 在自定义管理器上添加方法(通常首选)

为什么第二种解决方案“通常是首选”?

在我有一个通过关系B扩展模型的模型的情况下,并且我想创建一个生成对象的方法,该对象也生成相应的对象,鉴于我,按照建议使用自定义管理器如何“更好” '可能不会将此管理器用于默认管理器提供的功能之外的其他任何东西?AOneToOneBA

0 投票
1 回答
1578 浏览

django - Django 从 Manager 访问模型属性

我有以下模型:

我想列出目前的住院情况。所以我添加了一个@property 'is_current':

但是,当尝试从我的views.py 中的过滤器调用该属性时,我收到以下错误: *Cannot resolve keyword 'is_current' into field。选项包括:date_in、date_out、id、患者、房间*

然后我想我可以和经理一起做这件事。所以我添加了一个经理:

但这也不起作用: *AttributeError: 'HospitalizationManager' 对象没有属性 'date_in'*

Django推荐的解决方法是什么?

0 投票
1 回答
67 浏览

django - 如何在 Django 中过滤关系项?

可以说我有 2 个模型类。类别有一个名称和多个标签,标签有一个名称,可以是可见的或不可见的。

编辑:假设我有一个类别列表,对于每个类别,我只想显示可见 = True 的标签,我应该如何继续?

0 投票
1 回答
858 浏览

python - 在创建新记录之前,自定义管理器中的 Create_user() 或 Django 自定义用户模型中的 save() 方法用于处理字段?

我有一个带有 save() 方法的 Django 自定义用户模型,该方法测试 self.pk 是否为 None,并在创建新用户记录之前对字段进行一些额外处理。这是放置它的正确位置还是应该进入自定义用户管理器的 create_user() 方法?这有什么不同吗?

0 投票
1 回答
1447 浏览

python - 在 Django 自定义用户管理器中,create_user 和 _create_user() 之间的区别?

我正在尝试完成 Django 自定义用户管理器的教程。它们中的大多数会像文档中所说的那样覆盖 create_user() 和 create_super_user(),但是本教程只保留这两个方法,而是覆盖 _create_user()

http://www.caktusgroup.com/blog/2013/08/07/migrating-custom-user-model-django/

这个对吗?覆盖 _create_user() 与 create_user() 有什么区别?

0 投票
2 回答
1242 浏览

django - django:在管理器中访问 ForeignKey _id-Field 时得到了一个意外的关键字参数

我有一个看起来像这样的模型:

manager 有一个函数来检查某人是否已经是另一个用户的指导者,在clean()ing 实例时调用该函数:

mentor_id但是,在访问存在的ormentee_id属性时,我总是遇到异常:

我无法访问管理器中的 _id 字段是否有原因?我只是不明白为什么在(未保存的)实例中可以访问该字段,但在管理器中却不能。

0 投票
1 回答
100 浏览

python - 如果日期设置在将来,则 start_date 和 end_date 的模型管理器不起作用

我正在尝试编写一个模型管理器来获取所有已发布的条目,并且 start_date 是now. 奇怪的是,如果我将日期设置为过去的值(提前 1 分钟),一切正常,但如果我将日期设置在未来(提前 1 分钟),即使我等待更多时间,对象也不会显示测试时间超过 1 分钟。如果我只重新启动服务器什么都不做,则会显示该条目。但是每次发布条目时我都无法重新启动服务器。

有人看到这段代码有什么问题吗?或者这可以做不同的吗?

我的看法是这样的:

编辑:

如果我在视图now = timezone.now()的 def 内移动,则会获得正确的已发布条目。知道为什么不显示正确的吗?entries_publishedCategoryDetailEntryListView

这是我的CategoryDetail看法

编辑 2。

如果我将我的更改EntryListView为:

一切正常。奇怪,但我不在乎。

0 投票
1 回答
79 浏览

django - 这个模型在 Django 中是如何工作的?

我找到了使用此处编写的博客文章应用程序Django的代码:我对这段代码的作用感到困惑:请解释下面的 CommentManager 类的作用以及传递给它的参数如何分配给某些“任意键”。object在下面的课程中也使用相同的方法Comment。那是怎么用的?

0 投票
1 回答
67 浏览

django - 如何根据子模型中的字段过滤模型?

我有以下模型结构。是否可以更改 InventoryManager 以检查面包是否由于已被切片而不再存在库存中?

我希望使用 get_shipment 方法,但它不是一个字段。我尝试了以下但没有成功

谢谢阅读!

0 投票
2 回答
8696 浏览

django - timezone.now().date 是函数还是可调用函数?

我正在用 Django 1.5 编写经理。我想返回一个QuerySet包含今天或将来开始日期的对象。基于对上一个问题的回答,我认为我的经理需要使用可调用而不是函数。我写过:

我将该代码读为一个可调用的 ( date),它的值依赖于函数 ( timezone.now())。但是 Django 会将其视为可调用的还是函数?

我知道我可以通过创建一个对象并等到明天来测试它,但我宁愿完全理解这一点。