我有一个问题。 这些是我的django模型。(这只是一个例子)
class Users(models.Model):
username = models.Charfield()
class CommunityBoard(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=30)
contents = models.TextField()
我使用post
将数据(nsdictionary格式)发送到服务器 { pk = 1 }
在views.py中
def detailCommuBoard(request):
returnValues = {}
returnValues.update(csrf(request))
pk = request.POST['pk'];
detailContents = CommunityBoard.objects.filter(pk=pk)
returnValues = serializers.serialize('json', detailContents)
return HttpResponse(returnValues)
然后,我在iphone中获得了序列化数据。(json格式)
{
fields = {
contents = "\Uc5ed\Uc2dc \Ud30c\Uc774\Uc36c";
title = "\Ud30c\Uc774\Uc36c \Ud504\Ub85c\Uadf8\Ub798\Ubc0d";
user = 1;
};
pk = 11;
}
我想在make queryset时显示用户模型的用户名,而不是用户模型的pk。
请帮助我。
答案 0 :(得分:3)
我认为您需要更改Queryset以包含该信息。
detailContents = CommunityBoard.objects.filter(pk=pk).values_list('contents', 'title', 'user__username')
returnValues = serializers.serialize('json', detailContents)
答案 1 :(得分:0)
您可以使用natural keys during serialization。
所以你可以试试这个:
returnValues = serializers.serialize('json', detailContents,
use_natual_keys=True)