Use ref_name to disambiguate serializers that drf-yasg would otherwise assume are the same.
This commit is contained in:
@@ -28,6 +28,10 @@ class CourseModeSerializer(serializers.Serializer):
|
||||
sku = serializers.CharField(required=False)
|
||||
bulk_sku = serializers.CharField(required=False)
|
||||
|
||||
class Meta(object):
|
||||
# For disambiguating within the drf-yasg swagger schema
|
||||
ref_name = 'course_modes.CourseMode'
|
||||
|
||||
def create(self, validated_data):
|
||||
"""
|
||||
This method must be implemented for use in our
|
||||
|
||||
@@ -36,6 +36,8 @@ class CourseModeSerializer(serializers.ModelSerializer):
|
||||
class Meta(object):
|
||||
model = CourseMode
|
||||
fields = ('name', 'currency', 'price', 'sku', 'bulk_sku', 'expires')
|
||||
# For disambiguating within the drf-yasg swagger schema
|
||||
ref_name = 'commerce.CourseMode'
|
||||
|
||||
|
||||
def validate_course_id(course_id):
|
||||
@@ -77,6 +79,10 @@ class CourseSerializer(serializers.Serializer):
|
||||
verification_deadline = PossiblyUndefinedDateTimeField(format=None, allow_null=True, required=False)
|
||||
modes = CourseModeSerializer(many=True)
|
||||
|
||||
class Meta(object):
|
||||
# For disambiguating within the drf-yasg swagger schema
|
||||
ref_name = 'commerce.Course'
|
||||
|
||||
def validate(self, attrs):
|
||||
""" Ensure the verification deadline occurs AFTER the course mode enrollment deadlines. """
|
||||
verification_deadline = attrs.get('verification_deadline', None)
|
||||
|
||||
@@ -147,3 +147,5 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
model = User
|
||||
fields = ('id', 'username', 'email', 'name', 'course_enrollments')
|
||||
lookup_field = 'username'
|
||||
# For disambiguating within the drf-yasg swagger schema
|
||||
ref_name = 'mobile_api.User'
|
||||
|
||||
@@ -45,6 +45,10 @@ class CourseSerializer(serializers.Serializer): # pylint: disable=abstract-meth
|
||||
invite_only = serializers.BooleanField(source="invitation_only")
|
||||
course_modes = serializers.SerializerMethodField()
|
||||
|
||||
class Meta(object):
|
||||
# For disambiguating within the drf-yasg swagger schema
|
||||
ref_name = 'enrollment.Course'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.include_expired = kwargs.pop("include_expired", False)
|
||||
super(CourseSerializer, self).__init__(*args, **kwargs)
|
||||
|
||||
@@ -34,6 +34,8 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
# This list is the minimal set required by the notification service
|
||||
fields = ("id", "url", "email", "name", "username", "preferences")
|
||||
read_only_fields = ("id", "email", "username")
|
||||
# For disambiguating within the drf-yasg swagger schema
|
||||
ref_name = 'user_api.User'
|
||||
|
||||
|
||||
class UserPreferenceSerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
Reference in New Issue
Block a user