Serializer
class LoreSerializer(serializers.ModelSerializer):
NPCs = serializers.PrimaryKeyRelatedField(
many=True,
queryset=NPC.objects.none(),
required=False
)
def to_representation(self, instance):
print("TO REP")
rep = super().to_representation(instance)
print("Serialized NPCs queryset:", self.fields['NPCs'].queryset)
return rep
def save(self, *args, **kwargs):
is_global = self.validated_data.get('IsGlobal', False)
instance = super().save(*args, **kwargs)
if is_global:
instance.NPCs.clear()
return instance
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
request = self.context.get('request', None)
if request and request.user.is_authenticated:
self.fields['NPCs'].queryset = NPC.objects.filter(Owner=request.user)
print("set queryset", self.fields['NPCs'].queryset)
else:
self.fields['NPCs'].queryset = NPC.objects.none()
class Meta:
model = Lore
fields = '__all__'