django-managers相关内容

无法通过模型实例访问管理器

我正在尝试在另一个模型中获取模型对象实例,但出现此错误: 管理器无法通过主题实例访问 这是我的模型: 课堂论坛(models.Model):# 一些属性类主题(模型.模型):# 一些属性课后(models.Model):# 一些属性定义删除(自我):论坛 = self.topic.forum超级(发布,自我).删除()forum.topic_count = topic.objects.fi ..
发布时间:2021-12-19 11:46:37 其他开发

如何在 Django 中使用不同的设置进行单元测试?

是否有任何简单的机制来覆盖单元测试的 Django 设置?我的一个模型上有一个管理器,它返回特定数量的最新对象.它返回的对象数量由 NUM_LATEST 设置定义. 如果有人要更改设置,这有可能使我的测试失败.如何覆盖 setUp() 上的设置并随后在 tearDown() 上恢复它们​​?如果这是不可能的,有什么方法可以修改方法或模拟设置吗? 编辑:这是我的经理代码: class ..
发布时间:2021-12-15 11:34:25 其他开发

使用参数创建Django管理器

我有以下情况 我有一个经理类,可根据字段过滤查询集.问题是字段名称根据类而有所不同,但是它过滤的值来自同一位置(因此我认为我不需要几个管理器).这是我到目前为止所做的. class MyManager(models.Manager):def __init __(self,field_name):超级(MyManager,self).__ init __()self.field_name =字 ..
发布时间:2021-05-01 19:07:56 其他开发

Django,哪个功能属于QuerySet和Manager?

我曾经认为QuerySet方法返回QuerySet实例,但显然没有. 例如,count()是一个查询集方法,而不是管理者的 我该如何确定哪些函数用于自定义QuerySet,哪些函数用于自定义Manager类? 解决方案 能够访问管理器上的count()和查询集上的某些功能是很有意义的.这使您可以执行以下操作: Blog.objects.count() # total n ..
发布时间:2020-06-12 18:42:27 其他开发

临时数据库的Django自定义创建管理器逻辑

我正在尝试开发一个Django应用程序,该应用程序具有围绕对象的时间状态的内置逻辑.期望能够具有表示资源的单个对象,同时具有该资源的属性能够随时间变化.例如,理想的用例是在任何给定时间(去年,昨天,明天,明年...)查询资源的owner. 这就是我正在工作的... class Resource(models.Model): ..

Django模型与管理器

不太确定有什么区别.似乎Manager所做的一切就是拥有与模型相关的一堆功能.但是这些功能也可以放在模型中.... Django文档对管理器的描述如下, 管理器是用于执行数据库查询操作的接口 提供给Django模型. 那么,与该简单抽象相比,管理器在本质上还有其他区别吗? 还是一个更好的问题:在模型与管理器中应定义哪些方法?有实际差异还是只是风格差异? 解决方案 在 ..
发布时间:2020-06-12 18:42:17 其他开发

django soft delete不会级联删除

我在django管理员中使用了一个软删除,像这个。 问题是当我删除一个外键项时,它似乎没有触发所有链接到的项目的删除。或者也可以这样做,但它没有运行我的模型上的自定义 def delete 。 - 如果我删除一个人,那么他们是软的 - 已删除,但相关帐户保持不变。 - 如果我删除软删除,那么当我删除一个人时,帐户也被删除,这是正确的。 所以理想情况下,当我删除一个人时,我想要它 ..
发布时间:2017-06-01 22:05:27 其他开发

Django:异常和返回,处理多种潜在情况的正确方法是什么?

我在管理器中有一个功能,通过一个键激活用户帐户。当提供密钥时,需要执行几个检查:密钥是否存在?密钥已过期?然后如果没有,则管理员激活该帐户。 def activate(key): try: profile = self.get(key = key) 除了self.model.DoesNotExist: 返回无 如果没有profile.key_expired(): ##激活用户 返 ..
发布时间:2017-05-31 00:10:58 其他开发

覆盖查询的更新方法 - Django

如何在django中更改queryset的update方法的默认进程,因为它不会为每个对象调用save方法。而且由于我已经覆盖了save方法,所以我需要在每次对象被改变时被调用。 我寻找 django doc 但这只是为了 get_query_set ,是否有类似的更新方法。 谢谢 解决方案 这对我有用 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ..
发布时间:2017-05-30 18:49:17 其他开发

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

我有几个模型通过ForeignKeys关系彼此连接。 这种层次结构中的主要内容包含一个所有者字段。 我想为所有这些模型创建一个单一自定义管理器,这会更改返回的查询集,具体取决于正在调用它的模型。 我知道经理可以访问 self.model 来获取它附加的模型。 Class Main(models.Model) owner = models.ForeignKey(User) ..

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

我想添加一个可以从模板调用的自定义管理器,但不会影响整个模型(例如管理员视图),哪些监听请求中设置的参数(user_profile)。 以下是我到目前为止: models.py: def current(self): return self.filter(id = 1)##这个简化的过滤器测试工作.. class CurrentManager(models.Manager): ..