Introduced `BaseModelAdmin.get_fields()` and cleaned up admin fields handling. Refs #18681.