我正在研究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
的数量(限制一对多外键字段中“many”的数量)为常数User.max_files
条目我目前没有任何数据库限制,但我打算使用MySQL,所以如果这是特定于数据库的,我假设我使用的是MySQL。
答案 0 :(得分:0)
您可以覆盖模型的save()
方法,以检查是否已超出最大数量。这里记录了覆盖模型方法:
https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods
或者,如果您使用ModelForm
,则可以按照Django文档页面上的说明实现验证: