Улучшения, показаны 50 из 148.
Запуск migrate может поломать ещё работающую старую версию Django. Чтобы простой сайта был меньше, лучше …
Сейчас ваш сайт запущен как бы "в режиме продакшна", но у сайта включен дебаг. Из-за …
Любое непустое значение в переменной окружения включает отладочный режим, даже если это `DEBUG=FALSE`.
Метод `all()` нужен для того, чтобы запросить у менеджера объектов `Book.objects` первый объект запроса — …
В файле settings.py есть настройка `SECRET_KEY` — это секретный ключ, с помощью которого шифруют пароли …
В файле settings.py есть настройка `DEBUG`, она включает отладочный режим работы сайта. На локальной машине …
Менеджерам будет сложно наполнять БД, если все поля являются обязательными для заполнения. Часто всех нужных …
У поля `ForeignKey` в модели данных есть обязательный атрибут `on_delete`, он задает правило удаления записей …
Если в CharField разрешить хранить `None`, то в каждом запросе к базе придется указывать сразу …
Если обновление в коде требует изменений структуры БД, а файлов с миграциями в репозитории не …
Поиск записи в базе данных по ключу, например, по `id` или `slug`, требуется настолько часто, …
Использование метода `create` в коде дата-миграции часто мешает запустить её повторно — каждый запуск создает …
Атрибут `verbose_name` задает те названия, что получат поля модели данных при отображении в админке. Русскоязычный …
Если `related_name` указан в единственном числе, то запросы с его участием выглядят очень странно. Проблема …
По названию переменной сложно догадаться, что речь идёт о настройках базы данных. Обычно используют префикс …
Миграция выглядит сломанной. Такое случается, если не протестировать её после изменений в коде. И это …
При вызове метода `QuerySet.get` помимо исключения `DoesNotExist` возможна еще одна ситуация — вместо одной записи …
Если в запросе не указан способ сортировки, то, значит, он не важен. База данных сделает …
Ничто не встречается в моделях данных так же часто, как ссылка на юзера через `ForeignKey` …
В репозитории не хватает файлов статики. Без них сайт в браузере отображается некорректно.
К списку полей каждой модели данных Django автоматически добавляет поле `id`. Оно есть у всех …
Запросы с использованием такого `related_name` выглядят супер-странно.
Код вытягивает из базы данных слишком много данных, столько просто не нужно. Чем больше выборка, …
Пока мы занимаемся отладкой django берёт на себя функции веб-сервера и веб-приложения. Обычно эти роли …
![](https://dvmn.org/filer/canonical/1600270419/713/) [Ссылка на скриншот](https://dvmn.org/filer/canonical/1600270419/713/) Там, где загружена картинка, слева показано название загруженного файла, а справа …
Проблема отправки JSON по API не новая, и вместо использования `json.dumps()` уже давно используют другой …
В БД не должно быть избыточности данных. **Избыточность** -- это когда одни данные можно получить …
FloatField хранит данные как питоновский `float` и наследует все его проблемы. Например, вычисления с `float` …
В чём тогда смысл настройки, если в ней лежат домены, которые вам не принадлежат? Она …
Сейчас цена заказа может оказаться отрицательной, по крайней мере база данных такого не запрещает. Можно …
Записи в БД просто не имеют смысла без некоторых полей. Ниже несколько примеров таких ситуаций: …
Дефолтные значения нужны для того, чтобы оставлять какие-то поля незаполненными и при этом ни о …
Допустим, вы пишете сериализатор для модели `YoutubeVideo`: ```py class YoutubeVideoSerializer(ModelSerializer): class Meta: model = User …
Транзакции позволяют объединить несколько запросов к БД в одну неделимую операцию. Либо сработают все запросы, …
Методы `QuerySet` возвращают либо итоговое число/объект, либо новый `QuerySet`. Этот новый QuerySet позволяет продолжить настройку …
Вам можно отправить пустой заказ, вообще без товаров. Не очень понятно как поведёт себя система …
Сейчас количество товаров в заказе может оказаться отрицательным, по крайней мере база данных такого не …
Вы использовали старую форму записи функции `super()`, так её оформляли ещё во втором питоне. Сейчас …
Поле `JSONField` позволяет хранить в БД любую структуру данных. Иногда, это важный плюс, но чаще …
Это не какая-то проблема в коде, просто хотел посоветовать попробовать [декоратор @register](https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#the-register-decorator). Так регистрация моделей …
Контейнеризация с помощью Docker требует разделить поставку приложения на две фазы: сборка и запуск. За …
Сборщики фронтенда, такие как Webpack и Parcel, поставляются вместе с отладочным сервером на Node.js, умеющем …
Методы `QuerySet` возвращают либо итоговое число/объект, либо новый `QuerySet`. Этот новый QuerySet позволяет продолжить настройку …
В файле settings.py есть настройка `ALLOWED_HOSTS`, она нужна для безопасности вашего сайта, защищает вас от …
Если имя пользователя не влезет в вашу БД — ему будет неприятно. Если адрес не …
Разбиение проекта по приложениям нужно как раз для того, чтобы в проекте можно было очень …
Функция `get_object_or_404` нужна для View. Вне View её использовать не стоит. Вместо неё лучше используйте …
В файле settings.py есть настройка `SECRET_KEY` — это секретный ключ, с помощью которого шифруют пароли …