首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django有一个内置的方法来限制一对多的关系所能拥有的对象的数量吗?

django有一个内置的方法来限制一对多的关系所能拥有的对象的数量吗?
EN

Stack Overflow用户
提问于 2016-01-20 02:55:33
回答 1查看 42关注 0票数 0

我正在django中从事一个项目,我有以下(缩写)用户类:

代码语言:javascript
复制
class CustomUser(AbstractBaseUser):
  max_files = models.IntegerField(default=5)

然后我又上了一堂课

代码语言:javascript
复制
class File(models.Model):
  user = models.ForeignKey('CustomUser', on_delete=models.CASCADE)

django有办法做以下任何一件事吗?

  1. 将我的File类拥有的CustomUser s的数量限制为常量(将one中“多”的数目限制为多个外键字段)
  2. 上面的内容,但是使用User.max_files条目而不是常量。

我目前没有任何数据库约束,但是我计划使用MySQL,所以如果这是特定于数据库的,那么假设我使用的是MySQL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 03:13:52

您可以重写模型的save()方法,以检查是否超过了最大值。这里记录了覆盖模型的方法:

https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods

或者,如果您使用的是ModelForm,您可以实现验证,如Django文档页中所记录的那样:

https://docs.djangoproject.com/en/dev/ref/forms/validation/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34890750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档