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
Django/Python Consulting
If you have a specific Django challenge or integration you'd like to solve, I'd be happy to help. Book a free 30-minute call to discuss your project, see if we're a good fit, and explore the best approach for your needs. After the call, you'll receive a tailored cost estimate based on what we discuss.
Also by me
Django Messaging
For Django-based social platforms.
Django Paddle Subscriptions
For Django-based SaaS projects.
Django GDPR Cookie Consent
For Django websites that use cookies.