使用example from the docs,假设我有一个Task
模型:
class Task(models.Model):
summary = models.CharField(max_length=32)
content = models.TextField()
reported_by = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
permissions = (
('view_task', 'View task'),
)
假设我的应用程序上有很多用户,并且我想确保在数据库级别满足以下要求:
summary
“扫地”。在后端,两个用户各一个user
模型上添加Task
字段-我必须通过权限分配Task
对象的所有权现成的django_guardian UserObjectPermission
具有以下unique_together
约束:
unique_together = ['user', 'permission', 'object_pk']
我认为我要寻找的是一个unique_together
约束,它更像是此伪代码:
unique_together = ['user', 'permission', 'object_pk', 'task__summary']
或者,还有另一种方法可以使用Django Guardian权限在数据库级别实施这种唯一性吗?