From e9651860b791fee3a94ec2f9589f9fa3c2b11395 Mon Sep 17 00:00:00 2001 From: Boris Ponsioen <b.g.t.ponsioen@uva.nl> Date: Tue, 22 May 2018 12:24:33 +0200 Subject: [PATCH] Tries using rest_framework_mongoengine for deserialization from JSON to Citable --- SciPost_v1/settings/base.py | 1 + metacore/services.py | 10 ++++++++++ requirements.txt | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/SciPost_v1/settings/base.py b/SciPost_v1/settings/base.py index db35cf629..dfbbc6f38 100644 --- a/SciPost_v1/settings/base.py +++ b/SciPost_v1/settings/base.py @@ -83,6 +83,7 @@ INSTALLED_APPS = ( 'guardian', 'haystack', 'rest_framework', + 'rest_framework_mongoengine', 'sphinxdoc', 'affiliations', 'colleges', diff --git a/metacore/services.py b/metacore/services.py index df5006f88..2e02932c6 100644 --- a/metacore/services.py +++ b/metacore/services.py @@ -1,6 +1,8 @@ import requests from .models import Citable, CitableWithDOI, Journal from background_task import background +from rest_framework import serializers +from rest_framework_mongoengine.serializers import DocumentSerializer from django.utils import timezone import logging @@ -257,3 +259,11 @@ def parse_crossref_citable(citable_item): logger.error(citable_item.keys()) return False +class CitableCrossrefSerializer(DocumentSerializer): + # metadata = serializers.JSONField(source='te') + test = serializers.CharField(source='te') + + class Meta: + model = CitableWithDOI + fields = '__all__' + diff --git a/requirements.txt b/requirements.txt index 0d5ea445a..822386963 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,6 @@ psycopg2==2.7.3 # PostgreSQL engine pytz==2017.2 # Timezone package djangorestframework==3.6.3 requests==2.18.3 -mongoengine==0.15.0 # Django packages @@ -53,6 +52,7 @@ html2text # Mongo (Metacore) mongoengine==0.15.0 django-background-tasks==1.1.13 +django-rest-framework-mongoengine==3.3.0 # Possibly dead (most probably not used anymore and possibly not up-to-date packages) -- JdW (August 15th, 2017) imagesize==0.7.1 -- GitLab