About a Single Selected Model Instance
Here is a simple trick how to make only one model instance selected:
from django.db import models
from django.utils.translation import gettext_lazy as _
def get_is_selected():
return not HeaderImage.objects.filter(is_selected=True).exists()
class HeaderImage(models.Model):
is_selected = models.BooleanField(
_("Selected"), default=get_is_selected
)
...
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
if self.is_selected:
HeaderImage.objects.exclude(pk=self.pk).update(is_selected=False)
Tips and Tricks Programming Development Django 4.2 Django 3.2 Django 2.2
Also by me
Django Paddle Subscriptions app
For Django-based SaaS projects.
Django App for You
Django GDPR Cookie Consent app
For Django websites that use cookies.
Django App for You