Python 具有递归结构时的多域错误。如何解决?

Python 具有递归结构时的多域错误。如何解决?,python,django,django-models,many-to-many,Python,Django,Django Models,Many To Many,我在具有递归结构的模型中有下表(一个页面可以有子页面) 我想创建另一个与此表有很多关系的表 class UserMessage(models.Model): name = models.CharField("Nom", max_length=100) page = models.ManyToManyField(DynamicPage) 一个用户消息可以显示在多个页面上,一个页面可以显示多个消息 当我添加新的UserMessage时,由于以下外键约束,我有一个错误 ALT

我在具有递归结构的模型中有下表(一个页面可以有子页面)

我想创建另一个与此表有很多关系的表

class UserMessage(models.Model):    
    name = models.CharField("Nom", max_length=100)
    page = models.ManyToManyField(DynamicPage)
一个用户消息可以显示在多个页面上,一个页面可以显示多个消息

当我添加新的UserMessage时,由于以下外键约束,我有一个错误

ALTER TABLE `website_dynamicpage` ADD CONSTRAINT `parent_id_refs_id_29c58e1b` FOREIGN KEY (`parent_id`) REFERENCES `website_dynamicpage` (`id`); 
我认为问题的原因是约束设置在DynamicPage的父字段上,而不是其id上

顶级动态页面没有父页面,但可以显示UserMessage

因此,我希望与页面id建立多个关系,而不是与页面父级建立多个关系

在Django文档中,我看不到如何说ManyToMay位于UserMessage id和DynamicPage id之间,而不是DynamicPage父级之间

怎么做?可能吗

手动重新创建SQL约束是可能的解决方案吗

提前感谢(假设我正确理解了问题;)

试试这个:

class DynamicPage(models.Model):
    #...
    other = models.ManyToManyField("self")
使用可选的
symmetric
关键字参数(默认为
True


重申你的问题,我很难理解;)您的意图是创建关系
UserMessage
多对多
DynamicPage
,对吗?您显示的SQL约束与
ForeignKey
相关,所以我不明白。谢谢您的回答。我试着更好地解释。有时用外语解释事情并不那么容易:)
class DynamicPage(models.Model):
    #...
    other = models.ManyToManyField("self")