Django了解嵌套模型上的uniq约束

教授85

具有以下模型


class Department(models.Model):
    name = models.CharField(max_length=10)
    
class Person(models.Model):
    name = models.CharField(max_length=10)
    

class Position(models.Model):
    name = models.CharField(max_length=10)
    person = models.ForeignKeyField(to=Position)
    department = models.ForeignKeyField(to=Department)

我想确保一个人在一个部门中是唯一的(意味着一个部门只能有一个职位)。我的方法是对位置使用约束,但我无法弄清楚

  1. 条件使用什么Q语句。
class Position(models.Model):
    name = models.CharField(max_length=10)
    person = models.ForeignKeyField(to=Position)
    department = models.ForeignKeyField(to=Department)
    
    class Meta:
        constraints = UniqueConstraint(fields=['person'], condition=Q(???))

我希望会有某种Q(<all_departments>)找不到的东西

编辑:如果有更复杂的关系怎么办:

class Company(models.Model):
    name = models.CharField(max_length=10)


class Department(models.Model):
    name = models.CharField(max_length=10)
    models.ForeignKey(to=Company)


class Person(models.Model):
    name = models.CharField(max_length=10)
    

class Position(models.Model):
    name = models.CharField(max_length=10)
    person = models.ForeignKeyField(to=Position)
    department = models.ForeignKeyField(to=Department)

一个人只能在一家公司任职?

伊利纳克

您只需要UniqueConstraint,其中列出字段

UniqueConstraint(fields=['person', 'department'], name='unique_department_person')

这样可确保数据库中仅存在同一个人和部门的组合

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

定义Django模型约束

来自分类Dev

了解Django的模型类

来自分类Dev

了解Django的模型类

来自分类Dev

Django 响应嵌套模型

来自分类Dev

Wapiti CRF:了解模型文件并强制执行硬约束

来自分类Dev

嵌套模型上的骨干关系

来自分类Dev

Django ORM查询嵌套模型

来自分类Dev

Django模板中的嵌套模型

来自分类Dev

通过模型了解Django中的ManyToMany字段

来自分类Dev

Django模型管理员应该了解模型类吗?

来自分类Dev

Laravel-嵌套模型上的条件

来自分类Dev

在模型的嵌套属性上使用DisplayFor

来自分类Dev

在模型的嵌套属性上使用DisplayFor

来自分类Dev

Laravel-嵌套模型上的条件

来自分类Dev

嵌套模型上的 Laravel 验证抛出 QueryException

来自分类Dev

使用嵌套字典保存Django模型的方法

来自分类Dev

Django rest框架。返回嵌套的多个模型

来自分类Dev

Django多个外键模型的嵌套Json

来自分类Dev

如何为约束布局上的嵌套视图设置动画?

来自分类Dev

Django将整数模型字段的范围设置为约束

来自分类Dev

Django模型中的单元测试外键约束

来自分类Dev

如何将'IN'约束应用于Django模型的字段

来自分类Dev

Django RF。如何获得具有嵌套关系的Django模型

来自分类Dev

具有“可以包含”约束的模型嵌套数据结构

来自分类Dev

了解SQL中的表约束

来自分类Dev

了解Django

来自分类Dev

在嵌套类上使用DropDownList(For)和模型绑定

来自分类Dev

我可以在嵌套的模型对象列表上使用rapply吗

来自分类Dev

在ember.js上复制嵌套模型(成功保存后)