If the user provided a default in the field definition, returns it,
        otherwise determines the default menus based on available choices and
        ``PAGE_MENU_TEMPLATES_DEFAULT``. Ensures the default is not mutable.

def get_default(self):
        """
        If the user provided a default in the field definition, returns it,
        otherwise determines the default menus based on available choices and
        ``PAGE_MENU_TEMPLATES_DEFAULT``. Ensures the default is not mutable.
        """
        if self._overridden_default:
            # Even with user-provided default we'd rather not have it
            # forced to text. Compare with Field.get_default().
            if callable(self.default):
                default = self.default()
            else:
                default = self.default
        else:
            # Depending on PAGE_MENU_TEMPLATES_DEFAULT:
            # * None or no value: all choosable menus;
            # * some sequence: specified menus;
            # (* empty sequence: no menus).
            default = getattr(settings, "PAGE_MENU_TEMPLATES_DEFAULT", None)
            if default is None:
                choices = self.get_choices(include_blank=False)
                default = (c[0] for c in choices)
        # Default can't be mutable, as references to it are shared among
        # model instances; all sane values should be castable to a tuple.
        return tuple(default)