'collections.OrderedDict' object has no attribute 'id'

Try:

author_id = validated_data.pop('author').get('id')

and make sure you send a correct nested JSON API.