Django-两个对象的字段只有在其外键不同的情况下才能具有相同的值

强尼

Django中是否有内置解决方案,仅当两个对象的外键不同时,才让两个对象的字段具有相同的值。

例如,只有两个孩子的母亲不同,两个孩子才能使用相同的名字:

class Child(models.Model):
    name = models.CharField(unique=True, max_length=25)
    mother = models.ForeignKey(Mother, on_delete=models.CASCADE, blank=False)

class Mother(models.Model):
    name = models.CharField(unique=True, max_length=25)
赛特

您可以使模型上的字段一起唯一这意味着各个字段可以相同,只要唯一共同约束中的至少一个字段不同即可。

class Mother(models.Model):
    name = models.CharField(unique=True, max_length=25)

class Child(models.Model):
    name = models.CharField(unique=True, max_length=25)
    mother = models.ForeignKey(Mother, on_delete=models.CASCADE, blank=False)

    class Meta:
        unique_together = ('name', 'mother')

但是,您不能对相关模型上的字段实施唯一的唯一约束。例如,unique_together = ('child_field', 'mother__mother_field')将不允许。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有两个相同外键的Django Inlineformset

Django 中的两个表单-如何在没有所有字段的情况下使表单可提交?

Django形成两个具有相同值的字段,一个是默认值唯一,另一个是隐藏字段

Django-如何设置两个具有相同字段的模型?

如何从Django中具有外键关系的两个模型中选择值

django在一个模板上具有相同字段名称的两个ModelForms

Django Validators:检查两个字段值在数据库中是否具有相同的ID

在没有外键警告的情况下删除Django模型类对象

如何计算不同查询中的两个聚合字段:'dict' 对象没有属性 'variable-name' django

具有相同外键的对象的类似自动增量的字段(Django 1.8,MySQL 5.5)

在Django中,如何查询某个字段的所有相关对象具有相同的值?

如何在具有不同Django类的两个字段之间建立关系?

如何在不克隆的情况下测试两个结构具有相同的值?

在Django中使用具有相同值的不同模型字段

从具有一个不同字段的后向外键关系中获取 django 查询集

用于同时编辑具有外键关系的两个Django模型的表单

Django-具有两个以上外键的模型

Django-具有相同动作属性的单个页面上的两个表单标签

Django-检查两个密码哈希是否具有相同的原始密码

来自具有相同键的两个不同对象的 ruby/merge-sum 值

django模型具有另一个模型的两个字段

如何在 Django 中将具有一个公共字段的两个不同查询集合并为一个?

Django djoser 有两个相同的网址

django:当2个字段具有相同值时过滤queryset

在不同版本的Django下运行两个Django应用

Django:在不向数据库附加SQL的情况下获取外键字段的值

具有相同数据库的两个Django项目-关系django_migrations的权限被拒绝

如何在不访问数据库的情况下创建具有延迟字段的Django模型实例?

Django查询:将具有两个字段的两个模型连接起来