1+ from __future__ import annotations
2+
13from collections .abc import Iterable
24from itertools import chain
3- from typing import Any , Optional
5+ from typing import Any
46
57from cms .extensions .models import BaseExtension
68from cms .models import Placeholder , PlaceholderRelationField
1618class BaseVersionableItem :
1719 concrete = False
1820
19- def __init__ (self , content_model : type [models .Model ], content_admin_mixin : Optional [ type ] = None ):
21+ def __init__ (self , content_model : type [models .Model ], content_admin_mixin : type | None = None ):
2022 self .content_model = content_model
2123 self .content_admin_mixin = content_admin_mixin or VersioningAdminMixin
2224
@@ -29,15 +31,15 @@ def __init__(
2931 content_model : type [models .Model ],
3032 grouper_field_name : str ,
3133 copy_function : callable ,
32- extra_grouping_fields : Optional [ Iterable [str ]] = None ,
33- version_list_filter_lookups : Optional [ dict [str , Any ]] = None ,
34+ extra_grouping_fields : Iterable [str ] | None = None ,
35+ version_list_filter_lookups : dict [str , Any ] | None = None ,
3436 on_publish = None ,
3537 on_unpublish = None ,
3638 on_draft_create = None ,
3739 on_archive = None ,
3840 grouper_selector_option_label = False ,
39- grouper_admin_mixin : Optional [ type ] = None ,
40- content_admin_mixin : Optional [ type ] = None ,
41+ grouper_admin_mixin : type | None = None ,
42+ content_admin_mixin : type | None = None ,
4143 preview_url = None ,
4244 ):
4345 super ().__init__ (content_model , content_admin_mixin )
@@ -161,7 +163,7 @@ def grouper_choices_queryset(self) -> models.QuerySet:
161163 cache_name = self .grouper_field .remote_field .get_accessor_name ()
162164 return self .grouper_model ._base_manager .prefetch_related (models .Prefetch (cache_name , queryset = content_objects ))
163165
164- def get_grouper_with_fallbacks (self , grouper_id ) -> Optional [ models .Model ] :
166+ def get_grouper_with_fallbacks (self , grouper_id ) -> models .Model | None :
165167 return self .grouper_choices_queryset ().filter (pk = grouper_id ).first ()
166168
167169 def _get_content_types (self ) -> set [int ]:
@@ -193,7 +195,7 @@ class VersionableItemAlias(BaseVersionableItem):
193195 """
194196
195197 def __init__ (
196- self , content_model : type [models .Model ], to : BaseVersionableItem , content_admin_mixin : Optional [ type ] = None
198+ self , content_model : type [models .Model ], to : BaseVersionableItem , content_admin_mixin : type | None = None
197199 ):
198200 super ().__init__ (content_model , content_admin_mixin )
199201 self .to = to
0 commit comments