Chcę przekazać niektóre argumenty do klasy DRF Serializatora od Viewset, więc dla Próbowałem to:przekazać dodatkowe argumenty do Serializatora klasy w Django Rest ram
class OneZeroSerializer(rest_serializer.ModelSerializer):
def __init__(self, *args, **kwargs):
print args # show values that passed
location = rest_serializer.SerializerMethodField('get_alternate_name')
def get_alternate_name(self, obj):
return ''
class Meta:
model = OneZero
fields = ('id', 'location')
Wyświetleń
class OneZeroViewSet(viewsets.ModelViewSet):
serializer_class = OneZeroSerializer(realpart=1)
#serializer_class = OneZeroSerializer
queryset = OneZero.objects.all()
Zasadniczo chcę przekazać pewne wartości na podstawie querystring z widoków do klasy Serializer, a następnie będą one alokować do pól.
Te pola nie są uwzględniane w modelu w rzeczywistości w dynamicznie utworzonych polach.
Ten sam przypadek w tym pytaniu stackoverflow, ale nie mogę zrozumieć odpowiedzi.
Czy ktoś może mi pomóc w tej sprawie lub zaproponować mi lepsze opcje.
@PauloScardine możesz podać mi prosty przykład lub dowolny link, w którym mogę uzyskać pomoc? Jestem nowy w django, dlatego nie mogę uzyskać twoich słów. –
Odpowiedź na pytanie, które odsyłasz jest właściwa, przejdź do dokumentacji metody 'get_serializer' i zastąp ją, aby zwrócić niestandardową instancję serializera. –
możliwy duplikat [Dynamicznie modyfikujący serializer pól w Django Rest Framework] (http: // stackoverflow.com/questions/18696403/dynamic-modifying-serializer-fields-in-django-rest-framework) –