Skip to content

Instantly share code, notes, and snippets.

View sky-code's full-sized avatar
😱
Kernel panic: …

Ihor Aleksandrov sky-code

😱
Kernel panic: …
View GitHub Profile
@sky-code
sky-code / .dockerignore
Created June 1, 2020 09:55
python dockerignore
**/__pycache__/
**/.mypy_cache
.pytest_cache
**/.pytest_cache
**/.tox
**/.vscode
**/.idea
**/.coverage
**/.DS_Store
**/.eggs
@pytest.fixture()
def patch_cls(monkeypatch):
def do_patch_cls(cls: type, mock: Any = None):
if mock is None:
mock = MagicMock(spec=cls)
def mock__new__(_cls, *_args, **_kwargs):
return mock
cls__new__ = cls.__new__
def select_fields_from_schema(schema: BaseModel, queryset: QuerySet, extend_include: list[str], exclude: list[str]):
fields = set(schema.model_fields.keys())
if extend_include:
fields = fields.union(extend_include)
if exclude:
fields = fields.difference(exclude)
queryset_model_fields = [f.name for f in queryset.model._meta.get_fields() if f.concrete]
fields = fields.intersection(queryset_model_fields)
return queryset.values(*fields)