Django.fun

How to set Django constraints to allow one enabled (BooleanField) object per item? [duplicate]

How to set Django constraints (or unique_together) to allow one enabled object per item?

class Subscription(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    enabled = models.BooleanField(default=False)

Should not allow to:

item1 = Item.objects.get(...)
sub1 = Subscription.objects.create(item=item1, enabled=True)
sub2 = Subscription.objects.create(item=item1, enabled=True)

but this should be allowed:

item1 = Item.objects.get(...)
sub1 = Subscription.objects.create(item=item1, enabled=True)
sub2 = Subscription.objects.create(item=item1, enabled=False)

Tutorials

Современный Python: начинаем проект с pyenv и poetry

Настройка проекта Python — виртуальные среды и управление пакетами

Использование requests в Python — тайм-ауты, повторы, хуки

Понимание декораторов в Python

ProcessPoolExecutor в Python: полное руководство

map() против submit() с ProcessPoolExecutor в Python

Понимание атрибутов, словарей и слотов в Python

Полное руководство по slice в Python

Выпуск Django 4.0

Безопасное развертывание приложения Django с помощью Gunicorn, Nginx и HTTPS

Автоматический повтор невыполненных задач Celery

Django REST Framework и Elasticsearch

Докеризация Django с помощью Postgres, Gunicorn и Nginx

Асинхронные задачи с Django и Celery

Релизы безопасности Django: 3.2.4, 3.1.12 и 2.2.24

Выпуски исправлений ошибок Django: 3.2.3, 3.1.11 и 2.2.23

Эффективное использование сериализаторов Django REST Framework

Выпуски безопасности Django: 3.2.2, 3.1.10 и 2.2.22

Выпущенные релизы безопасности Django: 3.2.1, 3.1.9 и 2.2.21

Обработка периодических задач в Django с помощью Celery и Docker

View all tutorials →