1

次のような 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] を返す必要があります。

4

1 に答える 1