beat.web.databases.serializers module

class beat.web.databases.serializers.DatabaseSerializer(*args, **kwargs)[source]

Bases: beat.web.common.serializers.VersionableSerializer

class Meta[source]

Bases: beat.web.common.serializers.Meta

model

alias of beat.web.databases.models.Database

exclude = ['description_file', 'declaration_file', 'source_code_file']
get_description(obj)[source]
get_protocols(obj)[source]
class beat.web.databases.serializers.DatabaseCreationSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: object

model

alias of beat.web.databases.models.Database

fields = ['name', 'short_description', 'description', 'declaration', 'code', 'previous_version']
beat_core_class = <module 'beat.core.database' from '/local/builds/0d638152/0/beat/beat.web/miniconda/envs/beat-web/lib/python3.6/site-packages/beat/core/database.py'>
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.