我有这样的模型:
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()我可以收到用户的俱乐部名称.我不能在循环中使用此查询.有没有办法将这种查询用于模型字段列表?
提前致谢
此字段与MyProfile类中的"objects"字段相同.添加.all()并将其强制转换为列表.
fields = [car, club]
for f in fields:
z = getattr(profile, f)
print list(z.all())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2810 次 |
| 最近记录: |