def mutate_and_get_payload(cls, input, info): try: entry = Entry() entry.title = input.get('title') entry.status = input.get('status') entry.date = input.get('date') entry.sticky = input.get('sticky', False) entry.section_id = get_section_id(input.get('section')) entry.category_id = get_category_id(input.get('category')) entry.summary = input.get('summary', '') entry.body = input.get('body', '') entry.owner_id = get_user_id(input.get('owner'), otherwise=input.get('owner')) entry.full_clean() entry.save() entry.tags = get_tags_ids(input.get('tags')) return CreateEntry(entry=entry) except ValidationError as e: return CreateEntry(entry=None, errors=getErrors(e)) except Exception as e: print '%s (%s)' % (e.message, type(e))