首页 > 解决方案 > 如何在 Django 中设计有向图模型?

问题描述

我想创建一个模型来表示具有同类祖先和后代的对象。在视图中,仅显示直接的父母和子女就足够了。

from django.db import models
from django.contrib.auth.models import User

class Node(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=500)
    ancestors = models.ManyToManyField('self', blank=True, symmetrical=False)
    descendants = models.ManyToManyField('self', blank=True, symmetrical=False)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

设计这种模型的最佳方法是什么?

标签: django-models

解决方案


推荐阅读