在为其分配子类别时,自动将父类别添加到模型的ManyToManyField

时间:2016-02-03 13:05:51

标签: python django django-models

我正在使用Python 2.7和Django 1.7.9。我有基于django-mptt的Category类和带有ManyToManyField的模型:

class Item(models.Model):
    category = models.ManyToManyField(Category)    
    title = models.CharField(max_length=255)

如何在分配子类别时自动将父类别添加到Item的ManyToManyField中?例如。我有一个名为'音乐'的父类别,它有子类别,'摇滚','金属','经典'等。 当我将“经典”分配给项目时,“音乐”必须自动添加。 做正确的方法是什么?我试图这样做,这是错误的:

def save(self, *args, **kwargs):                                
            if self.category.parent:
                for parent in self.category.get_ancestors:
                    self.category.add(parent)                
            super(Item, self).save(*args, **kwargs)

1 个答案:

答案 0 :(得分:0)

Finnaly我自己找到了解决方案。

<html>  
  <head>
    <title>Awesome graph</title>
  <script type="text/javascript" src="jqplot/plugins/jqplot.logAxisRenderer.min.js"></script>
  <script type="text/javascript" src="jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
  <script type="text/javascript" src="jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
  <script type="text/javascript" src="jqplot/plugins/jqplot.dateAxisRenderer.min.js"></script>
  </head>
<body>...