在配置模型的时候添加db_constraint=False
post = models.ManyToManyField(to="Post", blank=True, verbose_name="关联岗位", db_constraint=False,
help_text="关联岗位")
role = models.ManyToManyField(to="Role", blank=True, verbose_name="关联角色", db_constraint=False,
help_text="关联角色")
dept = models.ForeignKey(
to="Dept",
verbose_name="所属部门",
on_delete=models.PROTECT,
db_constraint=False,
null=True,
blank=True,
help_text="关联部门",
)
这段代码定义了一个模型字段,允许一个模型实例关联多个"Role"实例。通过设置db_constraint=False,你告诉Django不要在数据库层面为这个多对多关系创建任何约束。这意味着在数据库中,一个模型实例可以关联同一个"Role"实例多次,而不会引发唯一性错误。当然,这种行为可能不是你想要的,具体取决于你的业务逻辑需求。在实际应用中,你需要根据具体情况权衡是否需要数据库级别的约束。