Page MenuHomec4science

serializers.py
No OneTemporary

File Metadata

Created
Fri, May 17, 05:09

serializers.py

from rest_framework import serializers
from dj_rql.drf.serializers import RQLMixin
from .models import *
from drf_writable_nested.serializers import WritableNestedModelSerializer
class CountrySerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Country
fields = '__all__'
depth = 4
class LanguageSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Language
fields = '__all__'
depth = 4
class PublisherSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
country = CountrySerializer(required=False, many=True)
class Meta:
model = Publisher
fields = '__all__'
depth = 4
class OaSerializer(serializers.ModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Oa
fields = '__all__'
depth = 4
class IssnSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Issn
fields = '__all__'
depth = 1
class JournalSerializer(WritableNestedModelSerializer, RQLMixin):
id = serializers.IntegerField(required=False)
issn = IssnSerializer(required=False, source='classIssn', many=True)
publisher = PublisherSerializer(required=False, many=True)
language = LanguageSerializer(required=False, many=True)
# allow update via post request --> "oa_status": {2},
# oa_status = serializers.PrimaryKeyRelatedField(queryset=Oa.objects.all())
oa_status = OaSerializer(required=False,allow_null=True)
class Meta:
model = Journal
fields = '__all__'
depth = 4
class LicenceSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Licence
fields = '__all__'
depth = 4
class Cost_factor_typeSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Cost_factor_type
fields = '__all__'
depth = 4
class VersionSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Version
fields = '__all__'
depth = 4
class OrgaSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
country = CountrySerializer(required=False, many=True)
class Meta:
model = Organization
fields = '__all__'
depth = 4
class Cost_factorSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
cost_factor_type = Cost_factor_typeSerializer(required=False, allow_null=True)
class Meta:
model = Cost_factor
fields = '__all__'
depth = 4
class TermSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
version = VersionSerializer(required=False, many=True)
cost_factor = Cost_factorSerializer(required=False, many=True)
licence = LicenceSerializer(required=False, many=True)
class Meta:
model = Term
fields = '__all__'
depth = 4
class ConditionTypeSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = ConditionType
fields = '__all__'
depth = 4
class ConditionSetSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
term = TermSerializer(many=True, read_only=False)
condition_type = ConditionTypeSerializer(read_only=False)
organization = OrgaSerializer(many=True, read_only=False)
journal = JournalSerializer(many=True, read_only=False)
class Meta:
model = ConditionSet
# pre filter for rql
# fields = ['id','condition_type','term','journal','organization']
# add for informations purpose
fields = '__all__'
depth = 4
class JournalLightSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
# allow update via post request --> "oa_status": {2},
oa_status = serializers.PrimaryKeyRelatedField(queryset=Oa.objects.all())
class Meta:
model = Journal
fields = ['id', 'name', 'oa_status']
depth = 1
class OaSerializer(WritableNestedModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
class Meta:
model = Oa
fields = '__all__'
depth = 4
class OrganizationConditionSerializer(serializers.ModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
organization = OrgaSerializer(required=False)
condition_set = ConditionSetSerializer(required=False)
class Meta:
model = OrganizationCondition
fields = '__all__'
depth = 4
class JournalConditionSerializer(serializers.ModelSerializer,RQLMixin):
id = serializers.IntegerField(required=False)
journal = JournalSerializer(required=False)
condition_set = ConditionSetSerializer(required=False)
class Meta:
model = JournalCondition
fields = '__all__'
depth = 4

Event Timeline