Initial commit from ZIP
This commit is contained in:
commit
378d4692a9
454 files changed
+40367
No files matched your search
@@ -0,0 +1,38 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from outbo.apps.photobriefing.models import BriefItem
|
||||
from outbo.apps.photobriefing.serializers import BriefItemPhotoSerializer
|
||||
|
||||
|
||||
class BaseBriefItemSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = BriefItem
|
||||
|
||||
|
||||
class BriefItemSerializer:
|
||||
class List(BaseBriefItemSerializer):
|
||||
photos = BriefItemPhotoSerializer.List(many=True)
|
||||
|
||||
class Meta(BaseBriefItemSerializer.Meta):
|
||||
fields = ["id", "category", "title", "description", "photos"]
|
||||
|
||||
class Create(BaseBriefItemSerializer):
|
||||
photos = BriefItemPhotoSerializer.Create(many=True)
|
||||
|
||||
class Meta(BaseBriefItemSerializer.Meta):
|
||||
fields = ["category", "title", "description", "photos"]
|
||||
|
||||
def create(self, validated_data):
|
||||
photos = validated_data.pop("photos", None)
|
||||
instance = super().create(validated_data)
|
||||
if photos is not None:
|
||||
for photo in photos:
|
||||
photo["item"] = instance
|
||||
BriefItemPhotoSerializer.Create().create(photo)
|
||||
return instance
|
||||
|
||||
class AfterCreate(BaseBriefItemSerializer):
|
||||
photos = BriefItemPhotoSerializer.List(many=True)
|
||||
|
||||
class Meta(BaseBriefItemSerializer.Meta):
|
||||
fields = ["id", "category", "title", "description", "photos"]
|
||||
Reference in new issue
Block a user