Django unicode与递归ForeignKey

时间:2015-01-08 13:45:46

标签: python django unicode foreign-keys

所以我有一节课 - Deparmtent。

每个部门(最大的部门除外)都有一个更大的部门。

我的班级看起来像这样:

class Department(models.Model):
    name = models.CharField(max_length=100)
    overDep = models.ForeignKey('self', blank=True, null=True)

我想让def __unicode__返回部门名称而不是' - '而不是biger部门名称,所以结果看起来像:'BUSS-AEPR-ERPG'作为ERPG是最大的部门其中包括AEPR,其中包括BUSS。

我不知道怎么做,我试着回复:'self.name +“ - ”+ self.overDep.name'但是它给出了一个AttributeError - 'NoneType'对象没有属性'name'

所以请告诉我如何做得对,谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

def __unicode__(self):
    if self.overDep:
        return u'%s - %s' % (str(self.overDep), self.name)
    else:
        return self.name