【发布时间】:2011-12-12 12:03:28
【问题描述】:
我有一个这样的模型:
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() 我可以收到用户的俱乐部名称。我不能在循环中使用这个查询。有没有办法使用这样的查询来查询模型字段列表?
提前致谢
【问题讨论】:
-
这不是我的问题。我不想在模板中显示查询。我想在装饰器中进行查询以在视图中使用。我想进行批量查询。
-
这些问题解释了如何获取实际信息而不是
<django.db.models.fields.related.ManyRelatedManager object at 0x9876545>。无论在哪里,在视图中或在模板中。 -
@DrTyrsa ,请给出示例或链接以进行批量查询!在循环中我不能使用 profile.f.select_related() 。什么是正确的方法?
-
你想得到什么结果?配置文件列表以及每个配置文件的汽车列表?还是别的什么?