次のような 2 つのモデルがあります。
class Node(models.Model):
user = models.ForeignKey(User, null=False)
name = models.CharField(max_length=50)
class Activation(models.Model):
node = models.ForeignKey(Node, null=False)
active = models.BooleanField(default=False)
datetime = models.DateTimeField(default=datetimeM.datetime.now)
アクティブ化テーブルには、特定のノードが「アクティブ」であるかどうかが格納されます。したがって、ノードがアクティブかどうかを判断するには、そのノードの最新のアクティベーション レコードを取得する必要があります。
すべてのアクティブなノードを返す django クエリを作成する方法を理解しようとしています。
ここにいくつかのサンプルデータがあります
Node Table
id | name
--------------------
0 | andrew
1 | bill
2 | bob
Activation Table
id | nodeId | active | datetime
--------------------
0 | 0 | false | 01-01-2013:00:01:02
1 | 0 | true | 01-02-2013:00:01:02
2 | 0 | false | 01-03-2013:00:01:02
3 | 1 | false | 01-04-2013:00:01:02
4 | 0 | true | 01-05-2013:00:01:02
5 | 1 | true | 01-06-2013:00:01:02
6 | 2 | false | 01-07-2013:00:01:02
したがって、クエリは [node0, node1] を返す必要があります。