django中的父母子女关系

时间:2012-03-22 05:59:49

标签: python django django-models

我有由父母子女关系提交的django模型

我想打印父点子关系对象,它们将以点(。)分隔,如, ParentName.SubparentName.ChildName.subchildName .. 等...

我如何使用递归技术实现这一目标。

 class SomeModel(models.Model)
      parent = models.ForeignKey('self', related_name=childrens).

2 个答案:

答案 0 :(得分:2)

def print_obj(obj, prefix=''):
    sys.stdout.write('%s%s' % (prefix, obj))
    if obj.child:
        print_obj(obj, '.')

但我认为这个周期会更好:

def print_obj(obj):
    sys.stdout.write(str(obj))
    obj = obj.child
    while obj:
        sys.stdout.write('.%s' % obj)
        obj = obj.child

答案 1 :(得分:0)

请在此示例中查看this documentation他们提及如何使用poll.choice_set

调用父子关系