こんにちは I以下のモデルがあります:Djangoの多対多のクエリ
class Participation(models.Model):
workflow_activity = models.ForeignKey('WorkflowActivity')
user = models.ForeignKey(User)
role = models.ForeignKey(Role)
current = models.BooleanField()
これは、多対多「から」テーブルです。 私はこれらの条件のいずれか1持ってworkflow_activity
のインスタンスフィルタする:
- ありませんユーザー割り当てを、すなわち、参加テーブルでそのworkflow_activityのためノーエントリ
- ありません現在のアクティブユーザー、すなわち、どこのすべて参加テーブルのworkflow_activityの行には、
current==False
があります。
EDIT:
ねえみんな、回答に感謝。私はおそらくこのことに間違っていると思う。私の要件は、いくつかの選択ロジックに基づいてチケットをユーザーに割り当てるオートアサイン機能を備えたチケット発券システムの構築です。私は定期的なタスク(セロリを使用して)として割り当て関数を実行していますが、私はチケットの現在の状態に対して現在割り当てられていないチケットを選択する必要があります。特定のユーザーがチケットの現在の状態に割り当てられている場合、現在のブール値がマークされます。
これを実装するためのアイデアや考えはありますか?
EDIT2
相続人は私が考える1:私が知っている
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')
うんざりするに値するが、その私は、他のオプションを考え出すことができるもの? #1のために
私はこの1つに興味がある...私が試しましたいくつかのアイデアがありましたが、うまく動作しませんでした:) –