feat(#49): return FK details in department and municipality serializers
- DepartmentSerializer adds country_detail (nested country object) - MunicipalitySerializer adds department_detail and country_detail - Writable FK id fields kept for create/update - Move geography brief serializers to serializers/geography.py
This commit is contained in:
@@ -9,13 +9,38 @@ class CountrySerializer(serializers.ModelSerializer):
|
||||
fields = ["id", "name", "code"]
|
||||
|
||||
|
||||
class DepartmentSerializer(serializers.ModelSerializer):
|
||||
class CountryBriefSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Country
|
||||
fields = ["id", "name", "code"]
|
||||
|
||||
|
||||
class DepartmentBriefSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Department
|
||||
fields = ["id", "name", "country"]
|
||||
fields = ["id", "name"]
|
||||
|
||||
|
||||
class MunicipalityBriefSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Municipality
|
||||
fields = ["id", "name"]
|
||||
|
||||
|
||||
class DepartmentSerializer(serializers.ModelSerializer):
|
||||
country_detail = CountryBriefSerializer(source="country", read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Department
|
||||
fields = ["id", "name", "country", "country_detail"]
|
||||
|
||||
|
||||
class MunicipalitySerializer(serializers.ModelSerializer):
|
||||
department_detail = DepartmentBriefSerializer(
|
||||
source="department", read_only=True
|
||||
)
|
||||
country_detail = CountryBriefSerializer(source="country", read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Municipality
|
||||
fields = ["id", "name", "department", "country"]
|
||||
fields = ["id", "name", "department", "department_detail", "country", "country_detail"]
|
||||
|
||||
@@ -1,25 +1,11 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from ..models.geography import Country, Department, Municipality
|
||||
from ..models.provenance import Organization, Supplier
|
||||
|
||||
|
||||
class CountryBriefSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Country
|
||||
fields = ["id", "name", "code"]
|
||||
|
||||
|
||||
class DepartmentBriefSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Department
|
||||
fields = ["id", "name"]
|
||||
|
||||
|
||||
class MunicipalityBriefSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Municipality
|
||||
fields = ["id", "name"]
|
||||
from .geography import (
|
||||
CountryBriefSerializer,
|
||||
DepartmentBriefSerializer,
|
||||
MunicipalityBriefSerializer,
|
||||
)
|
||||
|
||||
|
||||
class OrganizationSerializer(serializers.ModelSerializer):
|
||||
|
||||
Reference in New Issue
Block a user