Как получить доступ и использовать редактор схем Django?

В документах говорится

Каждый бэкенд базы данных в Django поставляет свою собственную версию SchemaEditor, и она всегда доступна через менеджер контекста connection.schema_editor():

with connection.schema_editor() as schema_editor:
    schema_editor.delete_model(MyModel)

Примечание: В этом вопросе объект и метод перевернуты из документации: schema_editor.connection!. Но как найти его, чтобы использовать? Я пробовал это в repl:

with connection.schema_editor() as schema_editor:
NameError: name 'connection' is not defined

ModuleNotFoundError: No module named 'SchemaEditor'
ModuleNotFoundError: No module named 'DatabaseSchemaEditor'

NameError: name 'BaseDatabaseSchemaEditor' is not defined
import BaseDatabaseSchemaEditor
ModuleNotFoundError: No module named 'BaseDatabaseSchemaEditor'

Затем я погрузился в источник, после чего попробовал:

from django.db.backends.base import base
from django.db.backends.base.base import BaseDatabaseWrapper

se = schema_editor()
    se = schema_editor()
NameError: name 'schema_editor' is not defined
se = BaseDatabaseWrapper.schema_editor()

TypeError: schema_editor() missing 1 required positional argument: 'self'
se = BaseDatabaseWrapper.schema_editor(self)
NameError: name 'self' is not defined

    bdw = BaseDatabaseWrapper()
TypeError: __init__() missing 1 required positional argument: 'settings_dict'

from BaseDatabaseWrapper import schema_editor
ModuleNotFoundError: No module named 'BaseDatabaseWrapper'

...хотя он позволил мне импортировать его....

settings_dict = {
   ...:         'ENGINE': 'django.db.backends.sqlite3',
   ...:         'NAME': 'db.sqlite3',
   ...:     }

bdw = BaseDatabaseWrapper(settings_dict)
TypeError: 'NoneType' object is not callable

После всего этого я уволился и пришел сюда. Помочь? Спасибо.

Вернуться на верх