Spaces:
Running
Running
File size: 1,253 Bytes
566570e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
from rest_framework import serializers
from .models import Wp1DUsers, Wp1DUsermeta
class Wp1DUsermetaSerializer(serializers.ModelSerializer):
class Meta:
model = Wp1DUsermeta
fields = ['meta_key', 'meta_value']
class Wp1DUsersSerializer(serializers.ModelSerializer):
# To include specific metadata directly or handle it differently
# For simplicity, we'll fetch metadata separately in the view for now,
# but DRF has ways to nest serializers or use SerializerMethodField.
class Meta:
model = Wp1DUsers
fields = [
'id', 'user_login', 'user_nicename', 'user_email',
'user_url', 'user_registered', 'display_name'
]
class WpUserDetailSerializer(serializers.ModelSerializer):
metadata = serializers.SerializerMethodField()
class Meta:
model = Wp1DUsers
fields = [
'id', 'user_login', 'user_nicename', 'user_email',
'user_url', 'user_registered', 'display_name', 'metadata'
]
def get_metadata(self, obj):
# obj is a Wp1DUsers instance
meta_queryset = WpUsermeta.objects.filter(user=obj)
return {meta.meta_key: meta.meta_value for meta in meta_queryset} |