So schließen Sie Felder eines Fremdschlüssels (django und rest_api) in die Details des Abfragesets ein

Ich benutze rest_api in Django, um einen Abfragesatz von "Chats" anzuzeigen. Ich habe versucht, es für eine Weile fertig zu bekommen, ohne Erfolg ...

im anglejs controller rufe ich eine funktion auf, die folgendes macht:

$scope.conversations =   $http.get('/api/chats/').then(function(response){
    return response.data;
});

In urls.py der rest_api-App habe ich Folgendes eingefügt:

url(r'^chats/

in view.py der rest_api habe ich folgendes gesetzt:

from rest_framework.generics import ListCreateAPIView
from serializers import ChatsSerializer

class ChatsViewSet(ListCreateAPIView):
    serializer_class = ChatsSerializer
    def get_queryset(self):
        return Message.objects._folder(('sender', 'recipient'), {},order_by='-sent_at')

und in serializers.py in der rest_api habe ich das gesetzt:

from postman.models import Message
from rest_framework import serializers

class ChatsSerializer(serializers.ModelSerializer):
  class Meta:
    model = Message
    fields = ('id', 'sender', 'recipient','thread','subject','moderation_reason','body')
    ordering =['-thread']

Die Felder "Absender" und "Empfänger" im Modell "Nachricht des Postboten" sind Fremdschlüssel.

Hier ist die Definition des Absenders zum Beispiel im Nachrichtenmodell im Postboten:

sender = models.ForeignKey(get_user_model(), related_name='sent_messages', null=True, blank=True, verbose_name=_("sender"))

Ich möchte, dass das Queryset in rest_api nicht nur die ID des Absenders enthält, sondern auch sein Feld für den Benutzernamen ...

Ich habe versucht, einige Posts wie 'extra' in rest_api zu lesen, aber ich habe es nicht herausgefunden. Ich wäre Ihnen dankbar, wenn mir jemand eine explizite Anleitung dazu schreiben könnte ...

, login_required(views.chatsViewSet.as_view()) ),

in view.py der rest_api habe ich folgendes gesetzt:

from rest_framework.generics import ListCreateAPIView
from serializers import ChatsSerializer

class ChatsViewSet(ListCreateAPIView):
    serializer_class = ChatsSerializer
    def get_queryset(self):
        return Message.objects._folder(('sender', 'recipient'), {},order_by='-sent_at')

und in serializers.py in der rest_api habe ich das gesetzt:

from postman.models import Message
from rest_framework import serializers

class ChatsSerializer(serializers.ModelSerializer):
  class Meta:
    model = Message
    fields = ('id', 'sender', 'recipient','thread','subject','moderation_reason','body')
    ordering =['-thread']

Die Felder "Absender" und "Empfänger" im Modell "Nachricht des Postboten" sind Fremdschlüssel.

Hier ist die Definition des Absenders zum Beispiel im Nachrichtenmodell im Postboten:

sender = models.ForeignKey(get_user_model(), related_name='sent_messages', null=True, blank=True, verbose_name=_("sender"))

Ich möchte, dass das Queryset in rest_api nicht nur die ID des Absenders enthält, sondern auch sein Feld für den Benutzernamen ...

Ich habe versucht, einige Posts wie 'extra' in rest_api zu lesen, aber ich habe es nicht herausgefunden. Ich wäre Ihnen dankbar, wenn mir jemand eine explizite Anleitung dazu schreiben könnte ...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage