django-requestlogs
django-requestlogs copied to clipboard
User IDs that are UUID are converted to Integer in the log
Since the output is for a log (display only), would it make better sense to change "IntegerField" to "CharField" in (storages.py)?
class UserSerializer(serializers.Serializer):
id = serializers.IntegerField()
username = serializers.CharField()
I believe it makes more sense to keep the default as it is and you create a custom LogEntrySerializer by extending BaseEntrySerializer and id field with CharField() type.
class LogEntrySerializer(serializers.Serializer):
class ResponseSerializer(serializers.Serializer):
status_code = serializers.IntegerField(read_only=True)
data = JsonDumpField(read_only=True)
class UserSerializer(serializers.Serializer):
id = serializers.CharField()
username = serializers.CharField()
action_name = serializers.CharField(read_only=True)
execution_time = serializers.DurationField(read_only=True)
timestamp = serializers.DateTimeField(read_only=True)
ip_address = serializers.CharField(read_only=True)
request = BaseRequestSerializer(read_only=True)
response = ResponseSerializer(read_only=True)
user = UserSerializer()
and change SERIALIZER_CLASS settings to:
REQUESTLOGS = {
...
'SERIALIZER_CLASS': 'app.serializers.LogEntrySerializer',
...
}
Thanks for providing the example, @leogregianin
Closing this issue soon.