循环在django模型中的ManyToMany字段中

The*_*one 0 python django

我有这样的模型:

class MyProfile(models.Model):
      club = models.ManyToManyField(Club, default=None)
      city = models.ManyToManyField(City, default=None)
      .
      .
Run Code Online (Sandbox Code Playgroud)

在视图中:

user = User.objects.get(pk=id)
profile = MyProfile.objects.select_related().get(user=user)
Run Code Online (Sandbox Code Playgroud)

例如,profile.club.select_related()我可以找到用户的俱乐部.但我想循环这样做.

fileds = [car, club]
for f in fileds:
        print getattr(profile, f)
Run Code Online (Sandbox Code Playgroud)

在输出中我有<django.db.models.fields.related.ManyRelatedManager object at 0x9876545>profile.club.select_related()我可以收到用户的俱乐部名称.我不能在循环中使用此查询.有没有办法将这种查询用于模型字段列表?

提前致谢

Ily*_*lya 5

此字段与MyProfile类中的"objects"字段相同.添加.all()并将其强制转换为列表.

fields = [car, club]
for f in fields:
    z = getattr(profile, f)
    print list(z.all())
Run Code Online (Sandbox Code Playgroud)