Skip to content
Snippets Groups Projects
Commit 5408fe00 authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

Fix HostSerializer, add missing fields & read-only fields

- `HostLinkSerializer` is a `serializers.ModelSerializer` again.
parent c06dbb61
No related branches found
No related tags found
No related merge requests found
......@@ -167,9 +167,10 @@ class LinkSerializer(serializers.ModelSerializer):
fields = ("description", "url")
class HostLinkSerializer(LinkSerializer):
class HostLinkSerializer(serializers.ModelSerializer):
class Meta:
model = HostLink
fields = ("description", "url")
class HostSerializer(serializers.ModelSerializer):
......@@ -194,6 +195,8 @@ class HostSerializer(serializers.ModelSerializer):
"email",
"biography",
"is_active",
"links",
"thumbnails",
# ModelWithImageFields
"image",
"image_ppoi",
......@@ -207,11 +210,16 @@ class HostSerializer(serializers.ModelSerializer):
"updated_at",
"updated_by",
)
read_only_fields = (
"created_at",
"created_by",
"updated_at",
"updated_by",
)
def create(self, validated_data):
links_data = validated_data.pop("links", [])
host = Host.objects.create(**validated_data)
host = Host.objects.create(**validated_data | self.context)
for link_data in links_data:
HostLink.objects.create(host=host, **link_data)
host.save()
......@@ -234,6 +242,7 @@ class HostSerializer(serializers.ModelSerializer):
instance.image_alt_text = validated_data.get(
"image_alt_text", instance.image_alt_text
)
instance.updated_by = self.context.get("updated_by")
if instance.links.count() > 0:
for link in instance.links.all():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment