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}