akvo.rest.serializers package

Akvo RSR is covered by the GNU Affero General Public License. See more details in the license.txt file located at the root folder of the Akvo RSR module. For additional details on the GNU license please see < http://www.gnu.org/licenses/agpl.html >.

class akvo.rest.serializers.AdministrativeLocationSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of AdministrativeLocation

class akvo.rest.serializers.BudgetItemLabelSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of BudgetItemLabel

class akvo.rest.serializers.BudgetItemRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of BudgetItem

class akvo.rest.serializers.BudgetItemSerializer(*args, **kwargs)[source]

Bases: BudgetItemRawSerializer

class akvo.rest.serializers.CountryBudgetItemSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of CountryBudgetItem

class akvo.rest.serializers.CountrySerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Country

class akvo.rest.serializers.CrsAddOtherFlagSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of CrsAddOtherFlag

class akvo.rest.serializers.CrsAddSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

extra_kwargs = {'channel_code': {'allow_null': True, 'required': False}}
fields = '__all__'
model

alias of CrsAdd

validate_channel_code(value)[source]
class akvo.rest.serializers.DefaultPeriodSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of DefaultPeriod

class akvo.rest.serializers.DisaggregationSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'update', 'dimension_value', 'value', 'numerator', 'denominator', 'incomplete_data', 'category', 'category_id', 'type', 'type_id', 'created_at', 'last_modified_at')
model

alias of Disaggregation

class akvo.rest.serializers.DisaggregationTargetSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of DisaggregationTarget

get_dimension_name(obj)[source]
class akvo.rest.serializers.EmploymentSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Employment

class akvo.rest.serializers.ExternalProjectSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

exclude = ('related_project',)
model

alias of ExternalProject

class akvo.rest.serializers.FssForecastSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of FssForecast

class akvo.rest.serializers.FssSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Fss

class akvo.rest.serializers.HumanitarianScopeSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of HumanitarianScope

class akvo.rest.serializers.IatiExportSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IatiExport

class akvo.rest.serializers.IndicatorCustomFieldSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorCustomField

class akvo.rest.serializers.IndicatorCustomValueSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'indicator', 'custom_field', 'text_value', 'boolean_value', 'dropdown_selection')
model

alias of IndicatorCustomValue

class akvo.rest.serializers.IndicatorDisaggregationTargetSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorDisaggregationTarget

get_dimension_name(obj)[source]
class akvo.rest.serializers.IndicatorFrameworkSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

exclude = ['enumerators']
model

alias of Indicator

to_internal_value(data)[source]

Dict of native values <- Dict of primitive datatypes.

update(instance, validated_data)[source]
validate_cumulative(data)[source]
validate_disaggregation_targets(data)[source]
class akvo.rest.serializers.IndicatorPeriodAggregationJobSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriodAggregationJob

class akvo.rest.serializers.IndicatorPeriodDataCommentSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriodDataComment

read_only_fields = ['user']
class akvo.rest.serializers.IndicatorPeriodDataFrameworkSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriodData

read_only_fields = ['user']
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.

get_audit_trail(obj)[source]
is_valid(raise_exception=False)[source]
update(instance, validated_data)[source]
class akvo.rest.serializers.IndicatorPeriodDataSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriodData

read_only_fields = ['user']
class akvo.rest.serializers.IndicatorPeriodFrameworkSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriod

get_disaggregation_targets(obj)[source]
get_updates(obj)[source]
class akvo.rest.serializers.IndicatorPeriodLabelSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriodLabel

class akvo.rest.serializers.IndicatorPeriodSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorPeriod

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.

update(instance, validated_data)[source]
validate_disaggregation_targets(data)[source]
class akvo.rest.serializers.IndicatorReferenceSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of IndicatorReference

class akvo.rest.serializers.IndicatorSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

exclude = ['enumerators']
model

alias of Indicator

get_disaggregation_targets(obj)[source]
class akvo.rest.serializers.KeywordSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Keyword

class akvo.rest.serializers.LegacyDataSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of LegacyData

class akvo.rest.serializers.LinkSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Link

class akvo.rest.serializers.OrganisationBasicSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'name', 'long_name', 'logo')
model

alias of Organisation

class akvo.rest.serializers.OrganisationCountryBudgetLineSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationCountryBudgetLine

class akvo.rest.serializers.OrganisationCountryBudgetSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationCountryBudget

class akvo.rest.serializers.OrganisationCustomFieldSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationCustomField

class akvo.rest.serializers.OrganisationDocumentCategorySerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationDocumentCategory

class akvo.rest.serializers.OrganisationDocumentCountrySerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationDocumentCountry

class akvo.rest.serializers.OrganisationDocumentSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationDocument

class akvo.rest.serializers.OrganisationExpenseLineSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationExpenseLine

class akvo.rest.serializers.OrganisationIndicatorLabelSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationIndicatorLabel

class akvo.rest.serializers.OrganisationLocationSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationLocation

class akvo.rest.serializers.OrganisationRecipientOrgBudgetLineSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationRecipientOrgBudgetLine

class akvo.rest.serializers.OrganisationRecipientOrgBudgetSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationRecipientOrgBudget

class akvo.rest.serializers.OrganisationRegionBudgetLineSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationRegionBudgetLine

class akvo.rest.serializers.OrganisationRegionBudgetSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationRegionBudget

class akvo.rest.serializers.OrganisationSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Organisation

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.

get_current_user_permissions(organisation)[source]
class akvo.rest.serializers.OrganisationTotalBudgetLineSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationTotalBudgetLine

class akvo.rest.serializers.OrganisationTotalBudgetSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationTotalBudget

class akvo.rest.serializers.OrganisationTotalExpenditureSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of OrganisationTotalExpenditure

class akvo.rest.serializers.PartnershipBasicSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'project', 'organisation', 'iati_organisation_role', 'iati_organisation_role_label')
model

alias of Partnership

class akvo.rest.serializers.PartnershipRawDeepSerializer(*args, **kwargs)[source]

Bases: PartnershipRawSerializer

class akvo.rest.serializers.PartnershipRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Partnership

class akvo.rest.serializers.PartnershipSerializer(*args, **kwargs)[source]

Bases: PartnershipRawSerializer

class akvo.rest.serializers.PlannedDisbursementRawDeepSerializer(*args, **kwargs)[source]

Bases: PlannedDisbursementRawSerializer

class akvo.rest.serializers.PlannedDisbursementRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of PlannedDisbursement

class akvo.rest.serializers.PlannedDisbursementSerializer(*args, **kwargs)[source]

Bases: PlannedDisbursementRawSerializer

class akvo.rest.serializers.PolicyMarkerRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of PolicyMarker

class akvo.rest.serializers.PolicyMarkerSerializer(*args, **kwargs)[source]

Bases: PolicyMarkerRawSerializer

class akvo.rest.serializers.ProjectConditionRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectCondition

class akvo.rest.serializers.ProjectContactRawDeepSerializer(*args, **kwargs)[source]

Bases: ProjectContactRawSerializer

class akvo.rest.serializers.ProjectContactRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectContact

class akvo.rest.serializers.ProjectContactSerializer(*args, **kwargs)[source]

Bases: ProjectContactRawSerializer

class akvo.rest.serializers.ProjectCustomFieldSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectCustomField

class akvo.rest.serializers.ProjectDirectoryDynamicFieldsSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Project

get_countries(project)[source]
get_image(project: Project)[source]
get_partners(project)[source]
class akvo.rest.serializers.ProjectDirectorySerializer(*args, **kwargs)[source]

Bases: ModelSerializer

class Meta[source]

Bases: object

fields = ('id', 'title', 'subtitle', 'summary', 'latitude', 'longitude', 'image', 'countries', 'organisation', 'organisations', 'sectors', 'dropdown_custom_fields', 'order_score')
model

alias of Project

get_countries(project)[source]
get_dropdown_custom_fields(project)[source]
get_image(project)[source]
get_order_score(project)[source]
get_organisations(project)[source]
get_sectors(project)[source]
class akvo.rest.serializers.ProjectDocumentRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectDocument

class akvo.rest.serializers.ProjectDocumentSerializer(*args, **kwargs)[source]

Bases: ProjectDocumentRawSerializer

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.

update(document, validated_data)[source]
class akvo.rest.serializers.ProjectExtraSerializer(*args, **kwargs)[source]

Bases: ProjectSerializer

class Meta[source]

Bases: Meta

class akvo.rest.serializers.ProjectHierarchySerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'root_project', 'organisation', 'max_depth', 'is_master')
model

alias of ProjectHierarchy

class akvo.rest.serializers.ProjectIatiExportSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'title', 'is_public', 'publishing_status', 'status', 'checks_errors', 'checks_warnings', 'iati_status', 'date_start_actual', 'date_end_actual')
model

alias of Project

class akvo.rest.serializers.ProjectLocationCountryNameSerializer(*args, **kwargs)[source]

Bases: Serializer

class Meta[source]

Bases: object

fields = ('country', 'iso_code')
class akvo.rest.serializers.ProjectLocationRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectLocation

class akvo.rest.serializers.ProjectLocationSerializer(*args, **kwargs)[source]

Bases: ProjectLocationRawSerializer

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.

update(instance, validated_data)[source]
class akvo.rest.serializers.ProjectMetadataSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'title', 'subtitle', 'date_end_actual', 'date_end_planned', 'date_start_actual', 'date_start_planned', 'locations', 'status', 'is_public', 'sectors', 'parent', 'editable', 'recipient_countries', 'restricted', 'roles', 'use_project_roles', 'is_program', 'primary_organisation', 'children_count')
model

alias of Project

get_children_count(obj)[source]
get_editable(obj)[source]

Method used by the editable SerializerMethodField

get_locations(obj)[source]
get_parent(obj)[source]
get_restricted(project)[source]

True if the project is restricted for the user

class akvo.rest.serializers.ProjectRoleSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'project', 'email', 'role', 'name')
model

alias of ProjectRole

class akvo.rest.serializers.ProjectSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Project

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.

get_can_edit_access(obj)[source]
get_can_edit_enumerator_access(obj)[source]
get_can_edit_settings(obj)[source]
get_can_publish(obj)[source]
get_created_at(project: Project)[source]

This is a work around to silence the “Invalid datetime for the timezone Europe/Stockholm” which has appeared several times and not yet known why.

TODO: This may no longer necessary as of Django 4.2

get_editable(obj)[source]

Method used by the editable SerializerMethodField

get_iati_profile_url(obj)[source]
get_path(project: Project)[source]
get_program(obj)[source]
update(project: Project, validated_data: dict)[source]
class akvo.rest.serializers.ProjectUpSerializer(*args, **kwargs)[source]

Bases: ProjectSerializer

Custom endpoint for RSR Up

class Meta[source]

Bases: Meta

class akvo.rest.serializers.ProjectUpdateDeepSerializer(*args, **kwargs)[source]

Bases: ProjectUpdateSerializer

Deep serializer for project updates.

class akvo.rest.serializers.ProjectUpdateExtraSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

This serializer includes data about user and connected organisation.

class Meta[source]

Bases: object

depth = 2
fields = '__all__'
model

alias of ProjectUpdate

class akvo.rest.serializers.ProjectUpdateLocationNestedSerializer(*args, **kwargs)[source]

Bases: ProjectUpdateLocationSerializer

class Meta[source]

Bases: object

exclude = ('location_target',)
model

alias of ProjectUpdateLocation

class akvo.rest.serializers.ProjectUpdateLocationSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectUpdateLocation

class akvo.rest.serializers.ProjectUpdatePhotoSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of ProjectUpdatePhoto

class akvo.rest.serializers.ProjectUpdateSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

Serializer for project updates.

class Meta[source]

Bases: object

extra_kwargs = {'photo_caption': {'allow_null': True, 'required': False}, 'photo_credit': {'allow_null': True, 'required': False}, 'video_caption': {'allow_null': True, 'required': False}, 'video_credit': {'allow_null': True, 'required': False}}
fields = '__all__'
model

alias of ProjectUpdate

read_only_fields = ['user']
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.

get_deletable(obj)[source]

Method used by the deletable SerializerMethodField

get_editable(obj)[source]

Method used by the editable SerializerMethodField

class akvo.rest.serializers.PublishingStatusSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of PublishingStatus

class akvo.rest.serializers.RecipientCountryRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of RecipientCountry

class akvo.rest.serializers.RecipientCountrySerializer(*args, **kwargs)[source]

Bases: RecipientCountryRawSerializer

class akvo.rest.serializers.RecipientRegionRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of RecipientRegion

class akvo.rest.serializers.RecipientRegionSerializer(*args, **kwargs)[source]

Bases: RecipientRegionRawSerializer

class akvo.rest.serializers.RelatedProjectRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of RelatedProject

class akvo.rest.serializers.RelatedProjectSerializer(*args, **kwargs)[source]

Bases: RelatedProjectRawSerializer

class akvo.rest.serializers.ReportFormatSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('name', 'display_name', 'icon')
model

alias of ReportFormat

class akvo.rest.serializers.ReportSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'name', 'title', 'description', 'url', 'parameters', 'formats', 'organisations')
model

alias of Report

class akvo.rest.serializers.ResultRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Result

class akvo.rest.serializers.ResultSerializer(*args, **kwargs)[source]

Bases: ResultRawSerializer

class akvo.rest.serializers.ResultSerializerV2(*args, **kwargs)[source]

Bases: ResultRawSerializer

class akvo.rest.serializers.ResultsFrameworkSerializer(*args, **kwargs)[source]

Bases: ResultRawSerializer

class akvo.rest.serializers.SectorRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Sector

class akvo.rest.serializers.SectorSerializer(*args, **kwargs)[source]

Bases: SectorRawSerializer

class akvo.rest.serializers.TransactionRawDeepSerializer(*args, **kwargs)[source]

Bases: TransactionRawSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Transaction

class akvo.rest.serializers.TransactionRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of Transaction

class akvo.rest.serializers.TransactionSectorSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = '__all__'
model

alias of TransactionSector

class akvo.rest.serializers.TransactionSerializer(*args, **kwargs)[source]

Bases: TransactionRawSerializer

class akvo.rest.serializers.TypeaheadOrganisationSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

class Meta[source]

Bases: object

fields = ('id', 'name', 'long_name')
model

alias of Organisation

class akvo.rest.serializers.TypeaheadProjectSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

class Meta[source]

Bases: object

fields = ('id', 'title', 'subtitle')
model

alias of Project

class akvo.rest.serializers.TypeaheadProjectUpdateSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

class Meta[source]

Bases: object

fields = ('id', 'project', 'title')
model

alias of ProjectUpdate

class akvo.rest.serializers.TypeaheadSectorSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

class Meta[source]

Bases: object

fields = ('id', 'name')
model

alias of Sector

get_id(obj)[source]
get_name(obj)[source]
sectors = {'111': 'Education, Level Unspecified', '112': 'Basic Education', '113': 'Secondary Education', '114': 'Post-Secondary Education', '121': 'Health, General', '122': 'Basic Health', '123': 'Non-communicable diseases (NCDs)', '130': 'Population Policies/Programmes & Reproductive Health', '140': 'Water Supply & Sanitation', '151': 'Government & Civil Society-general', '152': 'Conflict, Peace & Security', '160': 'Other Social Infrastructure & Services', '210': 'Transport & Storage', '220': 'Communications', '230': 'ENERGY GENERATION AND SUPPLY', '231': 'Energy Policy', '232': 'Energy generation, renewable sources', '233': 'Energy generation, non-renewable sources', '234': 'Hybrid energy plants', '235': 'Nuclear energy plants', '236': 'Energy distribution', '240': 'Banking & Financial Services', '250': 'Business & Other Services', '311': 'Agriculture', '312': 'Forestry', '313': 'Fishing', '321': 'Industry', '322': 'Mineral Resources & Mining', '323': 'Construction', '331': 'Trade Policies & Regulations', '332': 'Tourism', '410': 'General Environment Protection', '430': 'Other Multisector', '510': 'General Budget Support', '520': 'Development Food Assistance', '530': 'Other Commodity Assistance', '600': 'Action Relating to Debt', '720': 'Emergency Response', '730': 'Reconstruction Relief & Rehabilitation', '740': 'Disaster Prevention & Preparedness', '910': 'Administrative Costs of Donors', '920': 'SUPPORT TO NON- GOVERNMENTAL ORGANISATIONS (NGOs)', '930': 'Refugees in Donor Countries', '998': 'Unallocated / Unspecified'}
class akvo.rest.serializers.UserDetailsSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'email', 'first_name', 'last_name', 'approved_organisations')
model

alias of User

class akvo.rest.serializers.UserPasswordSerializer(*args, **kwargs)[source]

Bases: Serializer

Change password serializer

class Meta[source]

Bases: object

fields = '__all__'
save()[source]
validate(data)[source]

Check if password1 and password2 match

validate_old_password(value)[source]

Check for current password

class akvo.rest.serializers.UserRawSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

Raw user serializer.

class Meta[source]

Bases: object

fields = ('id', 'first_name', 'last_name', 'email', 'is_active', 'is_staff', 'is_admin', 'is_support', 'is_superuser')
model

alias of User

class akvo.rest.serializers.UserSerializer(*args, **kwargs)[source]

Bases: BaseRSRSerializer

class Meta[source]

Bases: object

fields = ('id', 'first_name', 'last_name', 'email', 'username', 'is_active', 'is_staff', 'is_admin', 'is_support', 'is_superuser', 'can_manage_users', 'organisation', 'organisations', 'approved_employments', 'api_key', 'enforce_2fa', 'otp_keys', 'legacy_org', 'programs', 'user_management_organisations', 'seen_announcements')
model

alias of User

get_can_manage_users(obj)[source]
get_legacy_org(obj)[source]

Up needs the last tag to be the user’s org, it only needs the org ID

get_otp_keys(obj)[source]
get_programs(user)[source]
get_username(obj)[source]

Submodules