Python 使用django mptt时出现问题

Python 使用django mptt时出现问题,python,django,mptt,django-mptt,Python,Django,Mptt,Django Mptt,我在实现django mptt时遇到问题 这是我的模型: class Company(models.Model): name = models.CharField( max_length=100) parent = models.ForeignKey('self', null=True, blank=True, related_name='children') mptt.register(Company, order_insertion_by=['nam

我在实现django mptt时遇到问题

这是我的模型:

   class Company(models.Model):
       name = models.CharField( max_length=100)
       parent = models.ForeignKey('self', null=True, blank=True, related_name='children')

   mptt.register(Company, order_insertion_by=['name'])

所以,我所关注的是如何在孩子时期为公司增加财务支持。 我尝试了
mptt.register(Financials,parent=Company)
,这当然会给我带来错误

因此,mytree结构将是:

company1
....................> Financial1
--------------------> Financial 2

company2
-------------------->Financial 3

谢谢

Django mptt不支持同一树中的多种类型的对象。您可以让Financial和Company都从同一父类继承,然后用该父类的实例构建树。您需要在父类上存储一个“contenttype”字段,以便可以将父类的实例强制转换为适当的子类。不过,这是一个严重的黑客行为,因为它违反了继承的精神。金融不是公司,而是公司的一种属性。正确的答案是修复ACL设计,以便可以使用ForeignKey。

我建议使用django-polymorphic_tree

是否需要将其添加为叶节点?我以为你已经通过外键关系解决了这个问题;你有ForeignKey,为什么金融公司需要参与到树结构中呢?这里的问题是我正在尝试做一些Acl的事情。为此,我需要将模型保存在mptt树结构中。所以,如果我从财务中删除foreignkey,那么我如何才能将FinanCal作为一个孩子添加到公司??
company1
....................> Financial1
--------------------> Financial 2

company2
-------------------->Financial 3