voglio passare alcuni argomenti di classe DRF Serializer da Viewset, quindi per Ho provato questo:passare argomenti extra al Serializer Classe in Django Resto quadro
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')
Visualizzazioni
class OneZeroViewSet(viewsets.ModelViewSet):
serializer_class = OneZeroSerializer(realpart=1)
#serializer_class = OneZeroSerializer
queryset = OneZero.objects.all()
Fondamentalmente voglio passare qualche valore basato su querystring dalle viste alla classe Serializer e quindi questi verranno allocati ai campi.
Questi campi non sono inclusi nel modello nei campi creati dinamicamente.
Lo stesso caso in questa domanda stackoverflow, ma non riesco a capire la risposta.
Qualcuno può aiutarmi in questo caso o suggerirmi opzioni migliori.
@PauloScardine puoi fornirmi un semplice esempio o un collegamento dove posso ottenere aiuto? Sono nuovo del django perché non riesco a ottenere le tue parole. –
La risposta alla domanda che si riferisce è corretta, andare a leggere la documentazione sul metodo 'get_serializer' e sovrascriverla per restituire un'istanza personalizzata del serializzatore. –
possibile duplicato di [Modifica dinamica campi di serializzazione in Django Rest Framework] (http: // stackoverflow.it/questions/18696403/dynamically-modify-serializer-fields-in-django-rest-framework) –