code: def create(cls, action, **kwargs):
          
          assert action.method == 'action'
          argument = kwargs.pop('argument', None) or getattr(
              action, 'argument', None)
          return cls(
              action=action.value,
              argument=argument,
              **kwargs
          )
docs: Create new database row using the provided action need.
  
          :param action: An object containing a method equal to ``'action'`` and
              a value.
          :param argument: The action argument. If this parameter is not passed,
              then the ``action.argument`` will be used instead. If the
              ``action.argument`` does not exist, ``None`` will be set as
              argument for the new action need.
          :returns: An :class:`invenio_access.models.ActionNeedMixin` instance.