def create(self, request, *args, **kwargs): data = dict(request.data) user = request.user level = Level.safe_get(data.get('level_id')) group = Group.safe_get(data.get('group_id')) member = Member() name = Name(first=data.get('first_name'), middle=data.get('middle_name'), last=data.get('last_name')) member.name = name member.dob = data.get("dob", None) member.mobile_no = data.get("mobile_no", None) member.level_id = level.to_dbref() if level else None member.group_id = group.to_dbref() if group else None member.created_at = datetime.utcnow() member.created_by = user.to_dbref() if user.id else None member.save() response = {"id": str(member.id), "name": member.get_full_name()} return HTTPResponse(response)