django-managers相关内容
我正在尝试找到一种方法来实现自定义 QuerySet 和自定义 Manager 而不会破坏 DRY.这是我目前所拥有的: 类 MyInquiryManager(models.Manager):def for_user(自我,用户):返回 self.get_query_set().filter(Q(assigned_to_user=user) |Q(assigned_to_group__in=us
..
我正在尝试在另一个模型中获取模型对象实例,但出现此错误: 管理器无法通过主题实例访问 这是我的模型: 课堂论坛(models.Model):# 一些属性类主题(模型.模型):# 一些属性课后(models.Model):# 一些属性定义删除(自我):论坛 = self.topic.forum超级(发布,自我).删除()forum.topic_count = topic.objects.fi
..
我有 2 个 Django 模型,ModelA 带有一个 ArrayField,用于存储一个大的主键值列表(可能是 50k+ 列表) class ModelA(models.Model):pk_values = ArrayField(models.IntegerField())类 CustomManager(manager.Manager):def get_for_index(self, ind
..
是否有任何简单的机制来覆盖单元测试的 Django 设置?我的一个模型上有一个管理器,它返回特定数量的最新对象.它返回的对象数量由 NUM_LATEST 设置定义. 如果有人要更改设置,这有可能使我的测试失败.如何覆盖 setUp() 上的设置并随后在 tearDown() 上恢复它们?如果这是不可能的,有什么方法可以修改方法或模拟设置吗? 编辑:这是我的经理代码: class
..
我试图找到一种方法来实现自定义 QuerySet 和自定义 Manager 而不会破坏 DRY.这是我目前所拥有的: class MyInquiryManager(models.Manager):def for_user(self, user):返回 self.get_query_set().filter(Q(assigned_to_user=user) |Q(assigned_to_group
..
假设我有一个模型 MyModel ,该模型具有使用另一模型的查询集的属性方法. class OtherModel(models.Model)...类MyModel(models.Model):simple_attr = models.CharField('Yada yada')@财产def complex_attr():list_other_model = OtherModel.objects
..
我有以下情况 我有一个经理类,可根据字段过滤查询集.问题是字段名称根据类而有所不同,但是它过滤的值来自同一位置(因此我认为我不需要几个管理器).这是我到目前为止所做的. class MyManager(models.Manager):def __init __(self,field_name):超级(MyManager,self).__ init __()self.field_name =字
..
我曾经认为QuerySet方法返回QuerySet实例,但显然没有. 例如,count()是一个查询集方法,而不是管理者的 我该如何确定哪些函数用于自定义QuerySet,哪些函数用于自定义Manager类? 解决方案 能够访问管理器上的count()和查询集上的某些功能是很有意义的.这使您可以执行以下操作: Blog.objects.count() # total n
..
django及其自定义管理器出现错误.我有这个自定义管理器: class CallManager(models.Manager): def get_queryset(self): return super(CallManager, self).get_queryset().filter(is_active=True) class Call(models.Model)
..
我正在尝试开发一个Django应用程序,该应用程序具有围绕对象的时间状态的内置逻辑.期望能够具有表示资源的单个对象,同时具有该资源的属性能够随时间变化.例如,理想的用例是在任何给定时间(去年,昨天,明天,明年...)查询资源的owner. 这就是我正在工作的... class Resource(models.Model):
..
我正在努力使自己成为撰写自定义经理的人.我发现在线文档很少.我玩弄代码,发现了以下模式: 给出以下模型... class QuestionQuerySet(models.QuerySet): def QS_first (self): return self.first() class QuestionManager(models.Manager): d
..
不太确定有什么区别.似乎Manager所做的一切就是拥有与模型相关的一堆功能.但是这些功能也可以放在模型中.... Django文档对管理器的描述如下, 管理器是用于执行数据库查询操作的接口 提供给Django模型. 那么,与该简单抽象相比,管理器在本质上还有其他区别吗? 还是一个更好的问题:在模型与管理器中应定义哪些方法?有实际差异还是只是风格差异? 解决方案 在
..
我有一个自定义经理.我想将其用于相关对象.我在文档中找到了 use_for_related_fields .但这并不能像我以前那样使用它: class RandomQueryset(models.query.QuerySet): def randomize(self): count = self.count() random_index
..
我有2个Django模型, ModelA 带有 ArrayField ,用于存储大量主键值(可能超过50k) class ModelA(models.Model): pk_values = ArrayField(models.IntegerField( )) 类CustomManager(manager.Manager): def get_for_index(self,inde
..
我有一个表,其中包含一些网站的列表和一个包含其统计信息的表. class Site(models.Model): domain_name = models.CharField( max_length=256, unique=True, ) class Stats(models.Model): date = models.DateFi
..
我在django管理员中使用了一个软删除,像这个。 问题是当我删除一个外键项时,它似乎没有触发所有链接到的项目的删除。或者也可以这样做,但它没有运行我的模型上的自定义 def delete 。 - 如果我删除一个人,那么他们是软的 - 已删除,但相关帐户保持不变。 - 如果我删除软删除,那么当我删除一个人时,帐户也被删除,这是正确的。 所以理想情况下,当我删除一个人时,我想要它
..
我在管理器中有一个功能,通过一个键激活用户帐户。当提供密钥时,需要执行几个检查:密钥是否存在?密钥已过期?然后如果没有,则管理员激活该帐户。 def activate(key): try: profile = self.get(key = key) 除了self.model.DoesNotExist: 返回无 如果没有profile.key_expired(): ##激活用户 返
..
如何在django中更改queryset的update方法的默认进程,因为它不会为每个对象调用save方法。而且由于我已经覆盖了save方法,所以我需要在每次对象被改变时被调用。 我寻找 django doc 但这只是为了 get_query_set ,是否有类似的更新方法。 谢谢 解决方案 这对我有用 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
..
我有几个模型通过ForeignKeys关系彼此连接。 这种层次结构中的主要内容包含一个所有者字段。 我想为所有这些模型创建一个单一自定义管理器,这会更改返回的查询集,具体取决于正在调用它的模型。 我知道经理可以访问 self.model 来获取它附加的模型。 Class Main(models.Model) owner = models.ForeignKey(User)
..
我想添加一个可以从模板调用的自定义管理器,但不会影响整个模型(例如管理员视图),哪些监听请求中设置的参数(user_profile)。 以下是我到目前为止: models.py: def current(self): return self.filter(id = 1)##这个简化的过滤器测试工作.. class CurrentManager(models.Manager):
..