update queryset query not equal python django django-models django-queryset

python - queryset - TypeError: el objeto ''RelatedManager'' no es iterable



not in django query (2)

Úselo como un Manager . Si quieres todos los objetos, llama al método all() .

Django

Tengo los siguientes modelos:

class Group(models.Model): name = models.CharField(max_length=100) parent_group = models.ManyToManyField("self", blank=True) def __unicode__(self): return self.name class Block(models.Model): name = models.CharField(max_length=100) app = models.CharField(max_length=100) group = models.ForeignKey(Group) def __unicode__(self): return self.name

por ejemplo, el bloque b1 tiene el grupo g1 . Por su nombre, quiero obtener todos los bloques del grupo g1 . Escribí la siguiente función recursiva:

def get_blocks(group): def get_needed_blocks(group): for block in group.block_set: blocks.append(block) if group.parent_group is not None: get_needed_blocks(group.parent_group) blocks = [] get_needed_blocks(group) return blocks

pero b1.group.block_set me devuelve el objeto RelatedManager , que no es iterable.

¿Qué hacer? ¿Qué pasa?


Prueba esto:

block in group.block_set.all()