beat.web.common.serializers module

class beat.web.common.serializers.DiffSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]

Bases: rest_framework.serializers.Serializer

get_diff(obj)[source]
class beat.web.common.serializers.CheckNameSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]

Bases: rest_framework.serializers.Serializer

validate_name(name)[source]
get_used(obj)[source]
create(validated_data)[source]
class beat.web.common.serializers.SharingSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]

Bases: rest_framework.serializers.Serializer

validate_users(users)[source]
validate_teams(teams)[source]
class beat.web.common.serializers.DynamicFieldsSerializer(*args, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: object

default_fields = []
class beat.web.common.serializers.ShareableSerializer(*args, **kwargs)[source]

Bases: beat.web.common.serializers.DynamicFieldsSerializer

class Meta[source]

Bases: beat.web.common.serializers.Meta

model

alias of beat.web.common.models.Shareable

default_fields = ['is_owner', 'modifiable', 'deletable', 'sharing']
get_accessibility(obj)[source]
get_sharing(obj)[source]
get_is_owner(obj)[source]
class beat.web.common.serializers.VersionableSerializer(*args, **kwargs)[source]

Bases: beat.web.common.serializers.ShareableSerializer

class Meta[source]

Bases: beat.web.common.serializers.Meta

model

alias of beat.web.common.models.Versionable

default_fields = ['is_owner', 'modifiable', 'deletable', 'sharing', 'name', 'version', 'last_version', 'short_description', 'fork_of', 'previous_version', 'accessibility', 'hash', 'creation_date']
get_fork_of(obj)[source]
get_last_version(obj)[source]
get_previous_version(obj)[source]
get_history(obj)[source]
class beat.web.common.serializers.ContributionSerializer(*args, **kwargs)[source]

Bases: beat.web.common.serializers.VersionableSerializer

class Meta[source]

Bases: beat.web.common.serializers.Meta

model

alias of beat.web.common.models.Contribution

extra_fields = ['description', 'declaration']
exclude = ['description_file', 'declaration_file']
get_description(obj)[source]
get_declaration(obj)[source]
get_html_description(obj)[source]
class beat.web.common.serializers.ContributionModSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: object

fields = ['short_description', 'description', 'declaration']
beat_core_class = None
validate_description(description)[source]
validate_declaration(declaration)[source]
update(instance, validated_data)[source]
filter_representation(representation)[source]

Filter out fields if given in query parameters

to_representation(instance)[source]

Object instance -> Dict of primitive datatypes.

class beat.web.common.serializers.ContributionCreationSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]

Bases: beat.web.common.serializers.ContributionModSerializer

class Meta[source]

Bases: beat.web.common.serializers.Meta

fields = ['short_description', 'description', 'declaration', 'name', 'previous_version', 'fork_of', 'version']
validate_fork_of(fork_of)[source]
validate_previous_version(previous_version)[source]
validate_version(version)[source]
validate(data)[source]
create(validated_data)[source]

We have a bit of extra checking around this in order to provide descriptive messages when something goes wrong, but this method is essentially just:

return ExampleModel.objects.create(**validated_data)

If there are many to many fields present on the instance then they cannot be set until the model is instantiated, in which case the implementation is like so:

example_relationship = validated_data.pop(‘example_relationship’) instance = ExampleModel.objects.create(**validated_data) instance.example_relationship = example_relationship return instance

The default implementation also does not handle nested relationships. If you want to support writable nested relationships you’ll need to write an explicit .create() method.