gpt4 book ai didi

python - 如何限制用户在 Django 中保存数据库?

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:12 26 4
gpt4 key购买 nike

如何限制用户在数据库中保存对象

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)

我想将 foo 限制为每个用户 10 个条目

我正在使用 mysql 作为后端

最佳答案

你可以做到

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

如果你正在使用 forms,你可以通过更新 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.")

关于python - 如何限制用户在 Django 中保存数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com