Wie können einige Felder für bestimmte Benutzerberechtigungsstufen schreibgeschützt gemacht werden?Django-REST-API: Feld schreibgeschützt für Vorhang-Berechtigungsstufe erstellen
Es gibt ein Django-REST-API-Projekt. Es gibt einen Foo
Serializer mit 2 Feldern - foo
und bar
. Es gibt 2 Berechtigungen - USER
und ADMIN
.
Serializer ist definiert als:
class FooSerializer(serializers.ModelSerializer):
...
class Meta:
model = FooModel
fields = ['foo', 'bar']
Wie geht man sicher, ‚bar‘ macht Feld schreibgeschützt ist für USER
und beschreibbare für ADMIN
?
würde ich smth wie verwenden:
class FooSerializer(serializers.ModelSerializer):
...
class Meta:
model = FooModel
fields = ['foo', 'bar']
read_only_fields = ['bar']
Aber wie es abhängig machen (je nach Berechtigung)?
Haben Sie lesen http://www.django-rest-framework.org/api-guide/permissions /? –
Ja, habe die Referenz gelesen. Aber haben keine Informationen gefunden, die Informationen bereitstellen - wie bestimmte Felder für verschiedene Berechtigungen versteckt/angezeigt werden. – Oleg