You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The openapi specs have more information then the TypedDict's in schemas.openapi allow. This results in type errors if we override some of the fields as described in the docs
For instance this code:
import typing
from rest_framework.request import Request
from rest_framework.schemas.openapi import SchemaGenerator
DRFOpenAPISchema = dict[str, typing.Any]
if typing.TYPE_CHECKING:
from rest_framework.schemas.openapi import DRFOpenAPISchema
class DataSchemaGenerator(SchemaGenerator):
def get_info(self):
info = super().get_info()
info["termsOfService"] = "https://example.com/tos.html"
return info
def get_schema(
self, request: Request | None = None, public: bool = False
) -> DRFOpenAPISchema:
schema = super().get_schema(request, public)
return schema
Results in this error:
Could not assign item in TypedDict "termsOfService" is not a defined key in "DRFOpenAPIInfo"
The text was updated successfully, but these errors were encountered:
I saw the comment:
Unfortunately https://github.com/meeshkan/openapi-typed is archived so I don't think it should be used. https://github.com/openapi-generators/openapi-python-client has a complete pydantic schema which is great, but isn't just a types package. It contains much more and it also depends on python>=3.8 while we depend on python>=3.7 so we can't depend on it. We could just slowly add type information to our own types.
The openapi specs have more information then the TypedDict's in
schemas.openapi
allow. This results in type errors if we override some of the fields as described in the docsFor instance this code:
Results in this error:
The text was updated successfully, but these errors were encountered: