我正在django中从事一个项目,我有以下(缩写)用户类:
class CustomUser(AbstractBaseUser):
max_files = models.IntegerField(default=5)然后我又上了一堂课
class File(models.Model):
user = models.ForeignKey('CustomUser', on_delete=models.CASCADE)django有办法做以下任何一件事吗?
File类拥有的CustomUser s的数量限制为常量(将one中“多”的数目限制为多个外键字段)User.max_files条目而不是常量。我目前没有任何数据库约束,但是我计划使用MySQL,所以如果这是特定于数据库的,那么假设我使用的是MySQL。
发布于 2016-01-20 03:13:52
您可以重写模型的save()方法,以检查是否超过了最大值。这里记录了覆盖模型的方法:
https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods
或者,如果您使用的是ModelForm,您可以实现验证,如Django文档页中所记录的那样:
https://stackoverflow.com/questions/34890750
复制相似问题