Родительско-детские отношения в Джанго - PullRequest
2 голосов
/ 22 марта 2012

У меня есть модель django, которая состоит из родительских дочерних отношений, поданных

Я хочу напечатать объекты родительских дочерних отношений, которые будут разделены точкой (.), Например, ParentName.SubparentName.ChildName.subchildName .. и т.д ...

Как мне добиться этого, используя рекурсивную технику.

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

Ответы [ 2 ]

2 голосов
/ 22 марта 2012
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
0 голосов
/ 22 марта 2012

Пожалуйста, проверьте эту документацию , в этом примере они упоминают, как вызвать отношения родитель-потомок с poll.choice_set

...