PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Limiter le nombre d'enregistrements dans un modèle pouvant avoir une valeur par utilisateur

Vous devez créer une méthode de nettoyage personnalisée sur votre modèle.

from django.core.exceptions import ValidationError
from django.db import models

class MyModel(models.Model):
    user = models.ForeignKey(User)
    is_active = models.BooleanField(default=False)
    #...more fields ...

    def clean(self):
        if not self.pk and MyModel.objects.filter(user=self.user, is_active=True).exists():
            raise ValidationError('How about no?')