mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-15 16:27:09 +08:00
34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
from typing import Any, Dict, Optional, Type
|
|
|
|
from django.views.generic.base import ContextMixin, TemplateResponseMixin, View
|
|
|
|
from django.db import models
|
|
from django.http import HttpRequest, HttpResponse
|
|
|
|
class SingleObjectMixin(ContextMixin):
|
|
model: Optional[Type[models.Model]] = ...
|
|
queryset: Optional[models.query.QuerySet] = ...
|
|
slug_field: str = ...
|
|
context_object_name: Optional[str] = ...
|
|
slug_url_kwarg: str = ...
|
|
pk_url_kwarg: str = ...
|
|
query_pk_and_slug: bool = ...
|
|
object: models.Model = ...
|
|
kwargs: Dict[str, Any] = ...
|
|
def get_object(self, queryset: Optional[models.query.QuerySet] = ...) -> models.Model: ...
|
|
def get_queryset(self) -> models.query.QuerySet: ...
|
|
def get_slug_field(self) -> str: ...
|
|
def get_context_object_name(self, obj: Any) -> Optional[str]: ...
|
|
|
|
class BaseDetailView(SingleObjectMixin, View):
|
|
def render_to_response(self, context: Dict[str, Any], **response_kwargs: Any) -> HttpResponse: ...
|
|
def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ...
|
|
|
|
class SingleObjectTemplateResponseMixin(TemplateResponseMixin):
|
|
template_name_field: Optional[str] = ...
|
|
template_name_suffix: str = ...
|
|
model: Optional[Type[models.Model]] = ...
|
|
object: models.Model = ...
|
|
|
|
class DetailView(SingleObjectTemplateResponseMixin, BaseDetailView): ...
|