Commit 79921e67 by Bill Filler

fixed serializer for Journal

parent ce098d51
......@@ -3,29 +3,29 @@ from rest_framework import serializers
from course_discovery.apps.api.serializers import MinimalCourseSerializer
from course_discovery.apps.journal.models import Journal, JournalBundle
from course_discovery.apps.core.models import Currency, Partner
class JournalSerializer(serializers.HyperlinkedModelSerializer):
"""Serializer for the ``Journal`` model."""
class JournalSerializer(serializers.ModelSerializer):
"""
Serializer for the ``Journal`` model.
"""
price = serializers.DecimalField(
decimal_places=Journal.PRICE_FIELD_CONFIG['decimal_places'],
max_digits=Journal.PRICE_FIELD_CONFIG['max_digits']
)
currency = serializers.SlugRelatedField(read_only=True, slug_field='code')
sku = serializers.CharField()
expires = serializers.DateTimeField()
# @classmethod
#def prefetch_queryset(cls):
# return Journal.objects.all().select_related('currency')
partner = serializers.SlugRelatedField(slug_field='name', queryset=Partner.objects.all())
currency = serializers.SlugRelatedField(slug_field='code', queryset=Currency.objects.all())
class Meta(object):
model = Journal
# TODO - add partner
fields = ('uuid', 'title', 'price', 'currency', 'sku', 'expires')
fields = ('id', 'uuid', 'partner', 'title', 'price', 'currency', 'sku', 'expires')
class JournalBundleSerializer(serializers.ModelSerializer):
"""
Serializer for the ``JournalBundle`` model.
"""
courses = MinimalCourseSerializer(many=True, read_only=True)
journals = JournalSerializer(many=True, read_only=True)
partner = serializers.SlugRelatedField(slug_field='name', read_only=True)
......
......@@ -8,6 +8,7 @@ from course_discovery.apps.course_metadata.models import Course
CHARFIELD_MAX_LENGTH = 255
class Journal(TimeStampedModel):
"""" Journal model """
PRICE_FIELD_CONFIG = {
......@@ -35,8 +36,9 @@ class Journal(TimeStampedModel):
class Meta:
unique_together = (
('partner', 'uuid'),
('partner', 'uuid')
)
ordering = ('created',)
def __str__(self):
return self.title
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment