code: def create(self, validated_data):
          
          courses = validated_data.pop("courses", [])
          encoded_videos = validated_data.pop("encoded_videos", [])
  
          video = Video.objects.create(**validated_data)
  
          EncodedVideo.objects.bulk_create(
              EncodedVideo(video=video, **video_data)
              for video_data in encoded_videos
          )
  
          # The CourseSerializer will already have converted the course data
          # to CourseVideo models, so we can just set the video and save.
          # Also create VideoImage objects if an image filename is present
          for course_video, image_name in courses:
              course_video.video = video
              course_video.save()
              if image_name:
                  VideoImage.create_or_update(course_video, image_name)
  
          return video
docs: Create the video and its nested resources.