Skip to content

Класс для принтов sql-кода в джанго приложениях

Notifications You must be signed in to change notification settings

Rwwwrl/Django-sql-printer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SqlPrinter

Нужен для принтов sql-кода, которые генерирует джанго.

Использование

  1. Использование в качестве декоратора:
@PrintSqlTool()
def some_func():
    ...
    models.SomeModel.objects.first()
    ...
    models = models.SomeModel.objects.all()
    models_data = get_models_data(models)
    ...

    return smth

В этом случае мы увидим все запросы, которые проходили в функции

  1. Использование в качестве контекстного менеджера
def some_func():
    ...
    models.SomeModel.objects.first()
    ...
    with PrintSqlTool():
        models = models.SomeModel.objects.all()
        models_data = get_models_data(models)
    ...

    return smth

В этом случае мы увидим все запросы, которые были выполнены внутри блока контекстного менеджера.

Если в проекте используется несколько бд:

Мы сможем увидеть запросы только к одной из бд, по умолчанию это бд, у которой alias = default Если нужно указать другую бд, для которой нужно принтить запросы, то есть аргумент db_alias:

@PrintSqlTool(db_alias='some_db_alias')
def some_func():
    ...
    models.SomeModel.objects.first()
    ...
    models = models.SomeModel.objects.all()
    models_data = get_models_data(models)
    ...

    return smth

About

Класс для принтов sql-кода в джанго приложениях

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages