示例#1
0
class BasicNormalizedDataSerializer(serializers.ModelSerializer):

    source = serializers.HiddenField(default=serializers.CurrentUserDefault())

    class Meta:
        model = models.NormalizedData
        fields = ('data', 'source')
示例#2
0
class ActivitySerializer(serializers.ModelSerializer):
    """DRF Serializer for the Activity model detail view"""
    user = serializers.HiddenField(default=CurrentUserDefault())

    included_serializers = {
        'sport': 'discovery_service.serializers.SportSerializer',
        'route': 'discovery_service.serializers.RouteSerializer',
    }

    class Meta:
        model = models.Activity
        resource_name = 'hypoxic-activity'
        fields = [
            'user',
            'id',
            'name',
            'sport',
            'route',
            'route_upload_status',
            'description',
            'created_date',
            'updated_date',
            'is_archived',
        ]

        extra_kwargs = {
            'created_date': {'read_only': True},
            'updated_date': {'read_only': True},
            'is_archived': {'read_only': True}
        }
示例#3
0
class FullNormalizedDataSerializer(serializers.ModelSerializer):

    tasks = serializers.PrimaryKeyRelatedField(many=True, read_only=False, queryset=CeleryTaskResult.objects.all())
    source = serializers.HiddenField(default=serializers.CurrentUserDefault())

    class Meta:
        model = models.NormalizedData
        fields = ('data', 'source', 'raw', 'tasks')
示例#4
0
class BasicNormalizedDataSerializer(serializers.ModelSerializer):
    # link to self
    url = fields.ShareIdentityField(view_name='api:normalizeddata-detail')

    source = serializers.HiddenField(default=serializers.CurrentUserDefault())

    class Meta:
        model = models.NormalizedData
        fields = ('data', 'source', 'url')
示例#5
0
class ProviderRegistrationSerializer(ShareModelSerializer):
    status = serializers.SerializerMethodField()
    submitted_at = serializers.DateTimeField(read_only=True)
    submitted_by = serializers.HiddenField(default=serializers.CurrentUserDefault())

    def get_status(self, obj):
        return ProviderRegistration.STATUS[obj.status]

    class Meta:
        model = models.ProviderRegistration
        fields = '__all__'
示例#6
0
class FullNormalizedDataSerializer(serializers.ModelSerializer):
    # link to self
    url = fields.ShareIdentityField(view_name='api:normalizeddata-detail')

    tasks = serializers.PrimaryKeyRelatedField(
        many=True,
        read_only=False,
        queryset=models.CeleryTaskResult.objects.all())
    source = serializers.HiddenField(default=serializers.CurrentUserDefault())

    class Meta:
        model = models.NormalizedData
        fields = ('data', 'source', 'raw', 'tasks', 'url')
class AuthorSerializer(serializers.ModelSerializer):
    bio = relations.ResourceRelatedField(
        related_link_view_name='author-related',
        self_link_view_name='author-relationships',
        queryset=AuthorBio.objects,
    )
    entries = relations.ResourceRelatedField(
        related_link_view_name='author-related',
        self_link_view_name='author-relationships',
        queryset=Entry.objects,
        many=True)
    first_entry = relations.SerializerMethodResourceRelatedField(
        related_link_view_name='author-related',
        self_link_view_name='author-relationships',
        model=Entry,
    )
    comments = relations.HyperlinkedRelatedField(
        related_link_view_name='author-related',
        self_link_view_name='author-relationships',
        queryset=Comment.objects,
        many=True)
    secrets = serializers.HiddenField(default='Shhhh!')
    defaults = serializers.CharField(
        default='default',
        max_length=20,
        min_length=3,
        write_only=True,
        help_text='help for defaults',
    )
    included_serializers = {
        'bio': AuthorBioSerializer,
        'type': AuthorTypeSerializer
    }
    related_serializers = {
        'bio': 'example.serializers.AuthorBioSerializer',
        'type': 'example.serializers.AuthorTypeSerializer',
        'comments': 'example.serializers.CommentSerializer',
        'entries': 'example.serializers.EntrySerializer',
        'first_entry': 'example.serializers.EntrySerializer'
    }

    class Meta:
        model = Author
        fields = ('name', 'email', 'bio', 'entries', 'comments', 'first_entry',
                  'type', 'secrets', 'defaults')

    def get_first_entry(self, obj):
        return obj.entries.first()
class AuthorSerializer(serializers.ModelSerializer):
    bio = relations.ResourceRelatedField(
        related_link_view_name="author-related",
        self_link_view_name="author-relationships",
        queryset=AuthorBio.objects,
    )
    entries = relations.ResourceRelatedField(
        related_link_view_name="author-related",
        self_link_view_name="author-relationships",
        queryset=Entry.objects,
        many=True,
    )
    first_entry = relations.SerializerMethodResourceRelatedField(
        related_link_view_name="author-related",
        self_link_view_name="author-relationships",
        model=Entry,
    )
    comments = relations.HyperlinkedRelatedField(
        related_link_view_name="author-related",
        self_link_view_name="author-relationships",
        queryset=Comment.objects,
        many=True,
    )
    secrets = serializers.HiddenField(default="Shhhh!")
    defaults = serializers.CharField(
        default="default",
        max_length=20,
        min_length=3,
        write_only=True,
        help_text="help for defaults",
    )
    initials = serializers.SerializerMethodField()
    included_serializers = {"bio": AuthorBioSerializer, "type": AuthorTypeSerializer}
    related_serializers = {
        "bio": "example.serializers.AuthorBioSerializer",
        "type": "example.serializers.AuthorTypeSerializer",
        "comments": "example.serializers.CommentSerializer",
        "entries": "example.serializers.EntrySerializer",
        "first_entry": "example.serializers.EntrySerializer",
    }

    class Meta:
        model = Author
        fields = (
            "name",
            "email",
            "bio",
            "entries",
            "comments",
            "first_entry",
            "type",
            "secrets",
            "defaults",
            "initials",
        )
        meta_fields = ("initials",)

    def get_first_entry(self, obj):
        return obj.entries.first()

    def get_initials(self, obj):
        return "".join([word[0] for word in obj.name.split(" ")])
示例#9
0
class ProjectCreateSerializer(ProjectSerializer):
    slug = serializers.SlugField(
        default=serializers.CreateOnlyDefault(SlugDefault('title')))
    owner = serializers.HiddenField(default=serializers.CurrentUserDefault())