1

私はこのModelResourceを持っています:

class ProjectResource(ModelResource):
    id = fields.IntegerField('id', readonly=True)

    def alter_list_data_to_serialize(self, request, data):
        return data['objects']


    class Meta:
        queryset = Project.objects.all()
        list_allowed_methods = ['get', 'post']
        detail_allowed_methods = ['get', 'post', 'put', 'delete']
        resource_name = 'projects'
        include_resource_uri = False
        #fields = ['id', 'title', 'date_created', 'date_modified']
        excludes = []
        always_return_data = True

        authorization = Authorization()

GET /projects/1 または POST /projects の応答は次のとおりです。

'{
"date_created": "2012-08-29T16:47:55.417000+00:00", 
"date_modified": "2012-08-29T16:47:55.417000+00:00", 
"id": 1, 
"title": "1st Testing Project"
}'

しかし、私が PUT /projects を実行すると、応答は次のようになります。

'{
"date_created": "2012-08-29T16:47:55.417000+00:00", 
"date_modified": "2012-09-05T18:58:39.746336+00:00", 
"id": 1, 
"pk": "1", 
"title": "EDITED project"
}'

そのため、追加の「pk」フィールドがあります。どうやってそこにたどり着いたのですか?どうすればそれを取り除くことができますか?PUT を実行するときだけ存在します。何か案は?ありがとう。

4

0 に答える 0