mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-27 15:27:05 -05:00
feat: Introduce lists and reviews apps, refactor user list functionality from accounts, and add user profile fields.
This commit is contained in:
@@ -19,7 +19,9 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
|
||||
avatar_url = serializers.SerializerMethodField()
|
||||
display_name = serializers.SerializerMethodField()
|
||||
display_name = serializers.CharField(source="profile.display_name", required=False)
|
||||
unit_system = serializers.CharField(source="profile.unit_system", required=False)
|
||||
location = serializers.CharField(source="profile.location", required=False)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
@@ -31,6 +33,8 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
"date_joined",
|
||||
"is_active",
|
||||
"avatar_url",
|
||||
"unit_system",
|
||||
"location",
|
||||
]
|
||||
read_only_fields = ["id", "date_joined", "is_active"]
|
||||
|
||||
@@ -40,9 +44,15 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
return obj.profile.avatar.url
|
||||
return None
|
||||
|
||||
def get_display_name(self, obj) -> str:
|
||||
"""Get user display name"""
|
||||
return obj.get_display_name()
|
||||
def update(self, instance, validated_data):
|
||||
profile_data = validated_data.pop("profile", {})
|
||||
profile = instance.profile
|
||||
|
||||
for attr, value in profile_data.items():
|
||||
setattr(profile, attr, value)
|
||||
profile.save()
|
||||
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
|
||||
class LoginSerializer(serializers.Serializer):
|
||||
|
||||
Reference in New Issue
Block a user