django rest framework - сериализатор, ожидающий pk получения строки
Я отправляю XML для поста, и он содержит следующее -
<owner_id>Operations </owner_id>
Мой сериализатор как таковой -
class VariablePUTSerializer(serializers.ModelSerializer):
class Meta:
model = Varmst
resource_name = 'varmst'
fields = ('varmst_id', 'varmst_type', 'varmst_name', 'varmst_value', 'varmst_desc',
'varmst_public', 'owner_id', 'varmst_lstchgtm', 'varmst_publish', 'varmst_readonly',
'varmst_calc', 'varmst_starttype', 'varmst_startdt', 'varmst_startcal',
'varmst_offsets', 'varmst_lstval')
def transform_varmst_id(self, obj, value):
maxid = Varmst.objects.latest('varmst_id').varmst_id
if Varmst.objects.filter(varmst_name=obj.varmst_name).exists():
obj.varmst_id = Varmst.objects.filter(varmst_name=obj.varmst_name).values_list('varmst_id')[0]
return obj.varmst_id
else:
obj.varmst_id = maxid + 1
return obj.varmst_id
def transform_owner_id(self, obj, value):
obj.owner_id = Owner.objects.filter(owner_name = obj.owner_id).values_list('owner_id')[0]
return obj.owner_id
Поэтому я заменяю "Операции" соответствующим ПК для загрузки с помощью POST.
Проблема в том, что при попытке сделать сообщение я получаю следующее возвращение:
[
{
"owner_id": [
"Incorrect type. Expected pk value, received str."
]
}
]