Reputation: 67
I have 1 question. These are my django models.(This is just example)
class Users(models.Model):
username = models.Charfield()
class CommunityBoard(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=30)
contents = models.TextField()
I send data(nsdictionary format) to server using post
{ pk = 1 }
in 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)
then, I got serialized data in iphone.(json format)
{
fields = {
contents = "\Uc5ed\Uc2dc \Ud30c\Uc774\Uc36c";
title = "\Ud30c\Uc774\Uc36c \Ud504\Ub85c\Uadf8\Ub798\Ubc0d";
user = 1;
};
pk = 11;
}
I want to show User model's username when make queryset, not user model's pk.
please Help me.
Upvotes: 2
Views: 1820
Reputation: 53386
You can make use of natural keys during serialization.
So you can try this:
returnValues = serializers.serialize('json', detailContents,
use_natual_keys=True)
Upvotes: 0
Reputation: 1286
I think you need to change the Queryset to include that information.
detailContents = CommunityBoard.objects.filter(pk=pk).values_list('contents', 'title', 'user__username')
returnValues = serializers.serialize('json', detailContents)
Upvotes: 3