¿Cómo restrinjo al usuario para guardar objetos en db?
class model_name(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True) user = models.ForeignKey(User) foo = models.CharField(max_length=51)quiero limitar el foo solo para 10 entradas por usuario
estoy usando mysql como backend
Tu puedes hacer
class model_name(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True) user = models.ForeignKey(User) foo = models.CharField(max_length=51) def save(self, *args, **kwargs): if self.__class__.objects.filter(user=self.user).count()>=10: return None return super(model_name, self).save(*args, **kwargs) #return super().save(*args, **kwargs) python3.x Puede hacer lo mismo si está utilizando forms actualizando el método Form.clean
def clean(self): super(MyForm, self).clean() if model_name.objects.filter(user=self.cleaned_data['user']).count()>=10: raise forms.ValidationError("You have exceeded limit.")