我在一个页面上向服务器端发送请求以获取当前主题的评论列表。
像这样localhost:8000 / getComments / 567,而567是主题ID。
然后,在我的django视图中,像这样:
def getProjectComments(request, pId):
format = 'json'
mimetype = 'application/javascript' #'application/xml' for 'xml' format
comments = PrjComment.objects.filter(prj=pId)
data = serializers.serialize(format, comments)
return HttpResponse(data,mimetype)
现在,问题是, 当我尝试在浏览器端使用jQuery.parseJSON(数据)时。
[
{
"pk": 10,
"model": "app.prjcomment",
"fields":
{
"status": 1,
"time_Commented": "2011-12-11 17:23:56",
"prj": 1,
"content": "my comment 1",
"user": 25
}
},
{
"pk": 9,
"model": "app.prjcomment",
"fields": {
"status": 1,
"time_Commented": "2011-12-11 17:23:51",
"prj": 1,
"content": "comment \u4e00\u4e2a",
"user": 33
}
} ..
我需要使用用户对象的一些详细信息。 (用户是模型PrjComment中的外键) 例如user.first_name将显示在评论列表中。
但这里只是用户的id。(“用户”:33) 我怎样才能做到这一点?谁可以帮忙? 非常感谢你
用户是Django auth_user。
答案 0 :(得分:3)
简单的解决方案是指定您需要的值:
comments = PrjComment.objects.filter(prj=pId) \
.values('status','time_commented','prj','content','user__id',
'user__username','user__first_name')
<强>更新强>
要访问您的userprofile信息,请使用AUTH_PROFILE_MODULE设置中定义的表名。在我的例子中,该表称为userprofile,我将访问这样的数据:
values('user__userprofile__moreinfo')
其中moreinfo是您感兴趣的字段