from rest_framework import serializers from userausfall.models import TrustBridge, User class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ["username"] # the UniqueValidator for username prevents successful validation for existing users extra_kwargs = {"username": {"validators": []}} class TrustBridgeSerializer(serializers.HyperlinkedModelSerializer): trust_giver = UserSerializer() class Meta: model = TrustBridge fields = ["is_trusted", "trust_giver"] read_only_fields = ["is_trusted"] def update(self, instance: TrustBridge, validated_data): instance.trust_giver, _ = User.objects.get_or_create(username=validated_data["trust_giver"]["username"]) instance.save() return instance