2

1 質問があります。これらは私の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;
}

ユーザーモデルのpkではなく、クエリセットを作成するときにユーザーモデルのユーザー名を表示したい。

私を助けてください。

4

2 に答える 2

3

その情報を含めるには、クエリセットを変更する必要があると思います。

detailContents = CommunityBoard.objects.filter(pk=pk).values_list('contents', 'title', 'user__username')
returnValues = serializers.serialize('json', detailContents)
于 2012-10-10T10:34:29.583 に答える
0

シリアル化中に自然キーを利用できます。

だからあなたはこれを試すことができます:

returnValues = serializers.serialize('json', detailContents, 
                                    use_natual_keys=True)
于 2012-10-10T10:36:32.763 に答える