refactored AllFieldsReadOnlyMixin