Вы как-то костыльно все делаете. У вас должно быть как-то так примерно:
from drf_writable_nested.serializers import WritableNestedModelSerializer
class VendorContactSerializer(serializers.ModelSerializer):
class Meta:
model = VendorContacts
fields = (
'contact_name',
'phone',
'email',)
class VendorModulSerializer(serializers.ModelSerializer):
class Meta:
model = VendorModuleNames
fields = ('module',)
class VendorsSerializer(WritableNestedModelSerializer):
vendorcontact = VendorContactSerializer(source='vendor.vendorcontacts', many=True)
vendormodulenames = VendorContactSerializer(source='vendor.vendormodulenames', many=True)
class Meta:
model = Vendors
fields = ('vendor_name',
'country',
'nda',
'parent_vendor',)
И тогда большая часть кода что вы нагородили во вьюхе в post - не требуется. И создавать можно по нескольку инстансов
По sources только уточните как у вас back relations называются