在 Django 模型上两次指向相同的 table 是否有意义

Does it make sense to point to same table twice on django model

我有这张表

class Category(models.Model):
    name = models.CharField(max_length=20)


class Rule(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    next_page = models.ForeignKey(Category, on_delete=models.CASCADE, null=True)

# ... other fields

显然,我不是数据库或Django专家,next_page和类别的需求是不同的规则table应该用于设置在某些条件之后出现的下一个页面met/performed 由用户。我的一般问题是有更好的方法吗?

是的,没问题,只要这种用法是自然的。

例如,table 为 flight 的航空公司。每个 flight 将完全自然地拥有一个 from 和一个 destination,它们都是 Airport 对象的外键。