大量修改UI
This commit is contained in:
@@ -21,6 +21,15 @@ class UserPreferenceSerializer(serializers.ModelSerializer):
|
||||
fields = ["notify", "two_factor_enabled", "creation_defaults", "display", "updated_at"]
|
||||
read_only_fields = ["updated_at"]
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
# JSON 字段按 key 合并,避免消息中心写入的 mute-* 被设置页整包覆盖丢掉
|
||||
for field in ("notify", "creation_defaults", "display"):
|
||||
incoming = validated_data.get(field)
|
||||
current = getattr(instance, field)
|
||||
if isinstance(incoming, dict) and isinstance(current, dict):
|
||||
validated_data[field] = {**current, **incoming}
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
|
||||
class LoginSessionSerializer(serializers.ModelSerializer):
|
||||
is_current = serializers.SerializerMethodField()
|
||||
|
||||
Reference in New Issue
Block a user