グラフノードを表すモデルを作成しようとしています。
class Node(models.model):
ins = models.ManyToManyField("self", null=True, blank=True)
outs = models.ManyToManyField("self", null=True, blank=True)
ここで、ノードaとbがあるとしましょう。a as in for b djangoを追加すると(「対称」属性がオンになっているため)、b as inforaが追加されます。
a->bを設定する方法がわかりません。b<-aが自動的に設定されます。
私は関係のためにいくつかの中流階級を作ることを考えましたが、それがどのように機能するかは実際にはわかりません。文字通りそれを書く方法。
私はそれがそのようなものだと思います:
class Node(models.Model):
ins = models.ManyToManyField("self", null=True, blank=True, through="Edge")
outs = models.ManyToManyField("self", null=True, blank=True, through="Edge")
class Edge(models.Model):
node1_ins = models.ForeignKey(Node)
node2_outs = models.ForeignKey(Node)
しかしもちろん、これはまったく機能しません。
それを解決する方法はありますか?
よろしくお願いします、グレッグ