March 2020
Intermediate to advanced
608 pages
17h 17m
English
Set the database constraints in the Meta class of the Idea model as follows:
# myproject/apps/ideas/models.pyfrom django.db import modelsfrom django.utils.translation import gettext_lazy as _class Idea(models.Model): author = models.ForeignKey( settings.AUTH_USER_MODEL, verbose_name=_("Author"), on_delete=models.SET_NULL, blank=True, null=True, related_name="authored_ideas", ) title = models.CharField( _("Title"), max_length=200, ) class Meta: verbose_name = _("Idea") verbose_name_plural = _("Ideas") constraints = [ models.UniqueConstraint( fields=["title"], condition=~models.Q(author=None), name="unique_titles_for_each_author", ), models.CheckConstraint( check=models.Q( title__iregex=r"^\S.*\S$" # starts with non-whitespace, ...