РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
4 of 818 menu

Поле BooleanField

Поле BooleanField в Django представляет собой булево поле, которое хранит значения True или False. В базе данных оно обычно отображается как тип BOOLEAN. Это поле часто используется для флагов, статусов или других бинарных состояний. По умолчанию виджет формы для этого поля - CheckboxInput.

Синтаксис

from django.db import models class MyModel(models.Model): field_name = models.BooleanField(**options)

Параметры

Поле принимает стандартные параметры, а также специфичные:

  • default - значение по умолчанию (обычно False или True);
  • null - рекомендуется оставлять False, так как в БД null для булева поля не имеет смысла;
  • blank - если True, поле не обязательное в формах.

Пример

Давайте создадим модель для статьи, где будет поле is_published, указывающее, опубликована ли статья:

from django.db import models class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() is_published = models.BooleanField(default=False)

Пример

Создадим несколько статей и сохраним их в базу данных:

from myapp.models import Article # Create article with is_published=True article1 = Article( title="First article", content="Content of first article", is_published=True ) article1.save() # Create article with is_published=False (default) article2 = Article( title="Second article", content="Content of second article" ) article2.save()

Пример

Отфильтруем только опубликованные статьи:

from myapp.models import Article published = Article.objects.filter(is_published=True) for article in published: print(article.title)

Результат выполнения кода:

"First article"

Пример

Найдем все неопубликованные статьи:

from myapp.models import Article drafts = Article.objects.filter(is_published=False) for article in drafts: print(article.title)

Результат выполнения кода:

"Second article"

Пример

Изменим статус публикации статьи и обновим ее в базе данных:

from myapp.models import Article article = Article.objects.get(title="Second article") article.is_published = True article.save() res = Article.objects.filter(is_published=True).count() print(res)

Результат выполнения кода:

"2"

Смотрите также

  • поле CharField,
    которое используется для хранения коротких строк
  • поле TextField,
    которое предназначено для длинных текстов
  • поле IntegerField,
    которое хранит целые числа
  • поле DateField,
    которое хранит даты
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить