Seems like these should be explicit arguments of the function?  You can always do

    def obj_get(self, request, pk=None, domain=None)

to maintain their being keyword instead of positional arguments, and `assert pk and domain` if you want to guarantee never passing `None` to get_object_or_not_exist.