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."
        ]
    }
]

0 ответов

Другие вопросы по тегам