101 / wordpress_api /serializers.py
thejagstudio's picture
Upload 119 files
566570e verified
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}