How can i pass context from 1 serializer to another
like sub_variant = SubVariantSerializer(
source='subvariant_set', many=True, context={"variant_id": ?}
# i want to pass variant_id here
)
I know serializer.SerializerMethodField()
but dont want to use it here. Please suggest is it possible to send context serializer to serializer in below code? or how can i pass variant_id in further serializer
MY CODE:
# MODELS
class Variant(models.Model):
variant_id = models.AutoField(primary_key=True)
category_id = models.ManyToManyField(Category)
variant_name = models.CharField(max_length=100)
class SubVariant(models.Model):
sub_variant_id = models.AutoField(primary_key=True)
variant_id = models.ManyToManyField(Variant)
sub_variant_name = models.CharField(max_length=100)
# SERIALZIER
class SubVariantSerializer(serializers.ModelSerializer):
new_field = serializer.SerializerMethodField()
class Meta:
model = SubVariant
fields = "__all__"
def get_new_field(self, obj):
print(self.context['variant_id']) # I want to get variant_id here
return self.context['variant_id']
class VariantServiceSerializer(serializers.ModelSerializer):
sub_variant = SubVariantSerializer(
source='subvariant_set', many=True,
context={
"variant_id": ?? variant_id ??
})
class Meta:
model = Variant
fields = "__all__"