2 Stimmen

Wie zeigt man Fremdschlüssel in Queryset django

Ich habe 1 Frage. Dies sind meine django Modelle.(Dies ist nur ein Beispiel)

 class Users(models.Model):
    username = models.Charfield()

 class CommunityBoard(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=30)
    contents = models.TextField()

Ich sende Daten (nsdictionary-Format) mit post an den Server

 { 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)

dann habe ich serialisierte Daten in iphone.(json Format)

 {
    fields =         {

        contents = "\Uc5ed\Uc2dc \Ud30c\Uc774\Uc36c";
        title = "\Ud30c\Uc774\Uc36c \Ud504\Ub85c\Uadf8\Ub798\Ubc0d";           
        user = 1;

    };        
    pk = 11;
}

Ich möchte den Benutzernamen des Benutzermodells anzeigen, wenn ich ein Queryset erstelle, nicht den Benutzernamen des Modells pk.

Bitte helfen Sie mir.

3voto

esauro Punkte 1276

Ich denke, Sie müssen das Queryset so ändern, dass es diese Informationen enthält.

detailContents = CommunityBoard.objects.filter(pk=pk).values_list('contents', 'title', 'user__username')
returnValues = serializers.serialize('json', detailContents)

0voto

Rohan Punkte 49938

Sie können Folgendes nutzen natürliche Schlüssel bei der Serialisierung .

Sie können also Folgendes versuchen:

returnValues = serializers.serialize('json', detailContents, 
                                    use_natual_keys=True)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X