【发布时间】:2011-02-06 19:38:02
【问题描述】:
你好 我有以下型号:
class Participation(models.Model):
workflow_activity = models.ForeignKey('WorkflowActivity')
user = models.ForeignKey(User)
role = models.ForeignKey(Role)
current = models.BooleanField()
这是多对多“直通”表。
我想过滤具有以下任一条件的workflow_activity 实例:
- 未分配用户,即参与表中没有该工作流活动的条目
- 当前没有活动用户,即参与表中工作流活动的所有行都有
current==False
非常感谢您帮助构建查询!
编辑:
大家好,感谢您的回复。我想我可能会错误地接近这件事。我的要求是,我构建了一种具有自动分配功能的票务系统,该功能根据一些选择逻辑将用户分配给票证。我将分配功能作为定期任务运行(使用 celery),但为此我需要选择当前未分配的票证当前状态的票证。当前布尔值用于标记该特定用户是否被分配到工单的当前状态。
关于实现这个的任何想法/想法?
编辑2
这是我想到的一个:
class WorkflowActivity(models.Model):
...
...
assigned_to = models.ManytoManyField('Participation') # older table without the current field
current = models.ManytoManyField('Current')
class Current(models.Model):
participant = models.ForeignKey('Participation')
我知道值得畏缩,但这是我能想出的,还有其他选择吗?
【问题讨论】:
-
我对这个很感兴趣...我尝试了一些想法,但效果不佳:)
标签: django django-models many-to-many