154得票16回答
如何在Django中使用不同的设置进行单元测试?

有没有一种简单的机制可以在单元测试中覆盖Django设置?我有一个模型上的管理器,返回最新对象的特定数量。它返回的对象数由NUM_LATEST设置定义。这可能会使我的测试失败,如果有人更改了该设置,我该如何在setUp()中覆盖设置,并在tearDown()后恢复它们?如果不可能,是否有一种方...

111得票7回答
管理器无法通过模型实例访问。

我试图在一个模型对象中获取另一个模型对象的实例,但是出现了以下错误: 无法通过主题实例访问管理器 这是我的模型: class forum(models.Model): # Some attributs class topic(models.Model): # Som...

97得票2回答
何时应该在Django中使用自定义Manager而不是自定义QuerySet?

在Django中,自定义管理器是组织可重用查询逻辑的好方法。Django文档关于自定义管理器说: 您可能想要自定义Manager的两个原因:添加额外的Manager方法和/或修改Manager返回的初始QuerySet。 然而,它继续描述如何创建自定义QuerySet类,并且可以使用Q...

77得票8回答
自定义的QuerySet和Manager,不破坏DRY原则。

我正在尝试找到一种方法来实现自定义的QuerySet和自定义的Manager,而不违反DRY原则。目前我已经有了以下内容: class MyInquiryManager(models.Manager): def for_user(self, user): return...

69得票3回答
Django ORM - objects.filter() 和 objects.all().filter() - 哪一个更好?

很多时候我看到像这样的结构:MyModel.objects.all().filter(...) 这将返回默认的管理器(Manager)的QuerySet。起初all()似乎非常冗余,因为MyMode.objects.filter(...) 然而,这似乎仅对默认管理器来说是安全的,因为Djang...

57得票1回答
使用反向外键的select_related

我在Django中有两个模型。第一个模型包含职位职能的层次结构,它指示哪些职位向哪些职位报告。第二个模型是人员及其所属的职位职能。 class PositionHierarchy(model.Model): pcn = models.CharField(max_length=50) ...

51得票4回答
如何使用自定义管理器与相关对象?

我有一个自定义manager,想要在相关对象中使用它。我在文档中找到了 use_for_related_fields,但是它并没有按照我使用的方式工作:class RandomQueryset(models.query.QuerySet): def randomize(self): ...

39得票3回答
Django自定义管理器 - 如何仅返回由当前登录用户创建的对象?

我想要覆盖自定义对象模型管理器,只返回特定用户创建的对象。管理员用户仍应使用对象模型管理器返回所有对象。 现在我找到了一个解决方案,他们建议创建自己的中间件如下:#### myproject/middleware/threadlocals.py try: from threading...

35得票4回答
Django中出现AttributeError: 'Manager' object has no attribute 'get_by_natural_key'错误?

我正在使用 Django '1.5c1'。在我的 settings.py 文件中,有如下一行代码: AUTH_USER_MODEL = 'fileupload.galaxyuser' 这是我的 Galaxyuser 模型: class GalaxyUser(models.Model):...

31得票5回答
Django 管理器链式调用

我在思考是否可能(如果可能的话,如何)将多个管理器链接在一起,从而生成一个同时受到这些管理器影响的查询集。我将解释我正在处理的具体示例: 我有多个抽象模型类,用于向其他模型提供小型、特定的功能。其中两个模型是DeleteMixin和GlobalMixin。 DeleteMixin的定义如下...