[Answered ]-Can you make sure only one object related to another object has a certain field set?

1👍

I believe you can solve this using UniqueConstraint.
Using this, you can restrict that a Video only have a single label that current == True

You can define the UniqueConstraint in the models Meta.
You’ll get a database integrity error on save() if the condition fails.

See the documentation for this here:

https://docs.djangoproject.com/en/4.0/ref/models/constraints/

class Label(models.Model):
    ...
    class Meta:
        constraints = [
            models.UniqueConstraint(
                fields=["current", "video"],
                condition=Q(current=True),
                name="unique_current_label",
            ),
        ]
👤ErikR

Leave a comment