Commit 79921e67 by Bill Filler

fixed serializer for Journal

parent ce098d51
...@@ -3,29 +3,29 @@ from rest_framework import serializers ...@@ -3,29 +3,29 @@ from rest_framework import serializers
from course_discovery.apps.api.serializers import MinimalCourseSerializer from course_discovery.apps.api.serializers import MinimalCourseSerializer
from course_discovery.apps.journal.models import Journal, JournalBundle from course_discovery.apps.journal.models import Journal, JournalBundle
from course_discovery.apps.core.models import Currency, Partner
class JournalSerializer(serializers.HyperlinkedModelSerializer): class JournalSerializer(serializers.ModelSerializer):
"""Serializer for the ``Journal`` model.""" """
Serializer for the ``Journal`` model.
"""
price = serializers.DecimalField( price = serializers.DecimalField(
decimal_places=Journal.PRICE_FIELD_CONFIG['decimal_places'], decimal_places=Journal.PRICE_FIELD_CONFIG['decimal_places'],
max_digits=Journal.PRICE_FIELD_CONFIG['max_digits'] max_digits=Journal.PRICE_FIELD_CONFIG['max_digits']
) )
currency = serializers.SlugRelatedField(read_only=True, slug_field='code') partner = serializers.SlugRelatedField(slug_field='name', queryset=Partner.objects.all())
sku = serializers.CharField() currency = serializers.SlugRelatedField(slug_field='code', queryset=Currency.objects.all())
expires = serializers.DateTimeField()
# @classmethod
#def prefetch_queryset(cls):
# return Journal.objects.all().select_related('currency')
class Meta(object): class Meta(object):
model = Journal model = Journal
# TODO - add partner fields = ('id', 'uuid', 'partner', 'title', 'price', 'currency', 'sku', 'expires')
fields = ('uuid', 'title', 'price', 'currency', 'sku', 'expires')
class JournalBundleSerializer(serializers.ModelSerializer): class JournalBundleSerializer(serializers.ModelSerializer):
"""
Serializer for the ``JournalBundle`` model.
"""
courses = MinimalCourseSerializer(many=True, read_only=True) courses = MinimalCourseSerializer(many=True, read_only=True)
journals = JournalSerializer(many=True, read_only=True) journals = JournalSerializer(many=True, read_only=True)
partner = serializers.SlugRelatedField(slug_field='name', 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 ...@@ -8,6 +8,7 @@ from course_discovery.apps.course_metadata.models import Course
CHARFIELD_MAX_LENGTH = 255 CHARFIELD_MAX_LENGTH = 255
class Journal(TimeStampedModel): class Journal(TimeStampedModel):
"""" Journal model """ """" Journal model """
PRICE_FIELD_CONFIG = { PRICE_FIELD_CONFIG = {
...@@ -35,8 +36,9 @@ class Journal(TimeStampedModel): ...@@ -35,8 +36,9 @@ class Journal(TimeStampedModel):
class Meta: class Meta:
unique_together = ( unique_together = (
('partner', 'uuid'), ('partner', 'uuid')
) )
ordering = ('created',)
def __str__(self): def __str__(self):
return self.title 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