class ContentTypeField(serializers.CharField):
def to_internal_value(self, data):
if not data:
return data
app_label, model = data.split('.')
return ContentType.objects.get_by_natural_key(app_label, model)
def to_representation(self, value):
if not value:
return value
return ".".join(value.natural_key())