1616from api .models .abc import NewsItem
1717
1818
19- class ArticleForm (forms .ModelForm [ NewsItem ] ):
19+ class ArticleForm (forms .ModelForm ):
2020 title = forms .CharField (widget = forms .TextInput (attrs = {"size" : 70 }), required = True )
2121
2222
2323# Register your models here.
2424# Models that need customization
2525@admin .register (Article )
2626@admin .register (Blog )
27- class ArticleAdmin (admin .ModelAdmin [ NewsItem ] ):
27+ class ArticleAdmin (admin .ModelAdmin ):
2828 """Admin view for articles and blogs."""
2929
3030 list_per_page = 30
@@ -74,14 +74,14 @@ class ArticleAdmin(admin.ModelAdmin[NewsItem]):
7474 ]
7575
7676 @admin .action (description = "Mark selected articles as audited" )
77- def mark_as_audited (self , request : HttpRequest , queryset : QuerySet [ NewsItem ] ) -> None :
77+ def mark_as_audited (self , request : HttpRequest , queryset : QuerySet ) -> None :
7878 queryset .update (audited = True )
7979
8080 @admin .action (description = "Unmark selected articles as audited" )
81- def unmark_as_audited (self , request : HttpRequest , queryset : QuerySet [ NewsItem ] ) -> None :
81+ def unmark_as_audited (self , request : HttpRequest , queryset : QuerySet ) -> None :
8282 queryset .update (audited = False )
8383
84- def get_queryset (self , request : HttpRequest ) -> QuerySet [ NewsItem ] :
84+ def get_queryset (self , request : HttpRequest ) -> QuerySet :
8585 """Return the queryset with related fields prefetched."""
8686 qs = super ().get_queryset (request ).select_related ("news_site" ).prefetch_related ("launches" , "events" )
8787 return qs
@@ -214,7 +214,7 @@ def changelist_view(self, request: HttpRequest, extra_context: dict[str, str] |
214214 extra_context = {"title" : "News" }
215215 return super ().changelist_view (request , extra_context )
216216
217- def save_model (self , request : HttpRequest , obj : NewsItem , form : forms .ModelForm [ NewsItem ] , change : bool ) -> None :
217+ def save_model (self , request : HttpRequest , obj : NewsItem , form : forms .ModelForm , change : bool ) -> None :
218218 if change :
219219 # Ignore the type error as obj will be an instance of Article of Blog
220220 old_object : NewsItem = type (obj ).objects .get (pk = obj .pk ) # type: ignore
@@ -231,20 +231,20 @@ def save_model(self, request: HttpRequest, obj: NewsItem, form: forms.ModelForm[
231231
232232
233233@admin .register (Report )
234- class ReportAdmin (admin .ModelAdmin [ Report ] ):
234+ class ReportAdmin (admin .ModelAdmin ):
235235 """Custom admin view for reports."""
236236
237237 list_display = ("title" , "news_site" , "published_at" , "is_deleted" )
238238 search_fields = ["title" ]
239239 ordering = ("-published_at" ,)
240240
241- def get_queryset (self , request : HttpRequest ) -> QuerySet [ Report ] :
241+ def get_queryset (self , request : HttpRequest ) -> QuerySet :
242242 """Return the queryset with related fields prefetched."""
243243 return super ().get_queryset (request ).select_related ("news_site" )
244244
245245
246246@admin .register (NewsSite )
247- class NewsSiteAdmin (admin .ModelAdmin [ NewsSite ] ):
247+ class NewsSiteAdmin (admin .ModelAdmin ):
248248 list_display = ("name" , "id" )
249249
250250 def changelist_view (self , request : HttpRequest , extra_context : dict [str , str ] | None = None ) -> HttpResponse :
@@ -255,13 +255,13 @@ def changelist_view(self, request: HttpRequest, extra_context: dict[str, str] |
255255
256256# Models that can be registered as is
257257@admin .register (Event )
258- class EventAdmin (admin .ModelAdmin [ Event ] ):
258+ class EventAdmin (admin .ModelAdmin ):
259259 list_display = ("name" ,)
260260 search_fields = ["name" , "event_id" ]
261261
262262
263263@admin .register (Launch )
264- class LaunchAdmin (admin .ModelAdmin [ Launch ] ):
264+ class LaunchAdmin (admin .ModelAdmin ):
265265 list_display = ("name" ,)
266266 search_fields = ["name" , "launch_id" ]
267267
0 commit comments