繁体   English   中英

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

[英]Loop in ManyToMany Fields in django model

我有一个这样的模型:

class MyProfile(models.Model):
      club = models.ManyToManyField(Club, default=None)
      city = models.ManyToManyField(City, default=None)
      .
      .

鉴于:

user = User.objects.get(pk=id)
profile = MyProfile.objects.select_related().get(user=user)

例如,使用profile.club.select_related()可以找到用户的俱乐部。 但我想循环执行此操作。

fileds = [car, club]
for f in fileds:
        print getattr(profile, f)

在输出中,我有<django.db.models.fields.related.ManyRelatedManager object at 0x9876545>但是使用profile.club.select_related()可以接收用户的俱乐部名称。 我不能在循环中使用此查询。 有什么方法可以将此类查询用于模型字段列表吗?

提前致谢

此字段与MyProfile类中的“对象”字段相同。 添加.all()并将其强制转换为列表。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM