我ManyToManyField
在我的网站上使用了一个 access_list :
class Projects(models.Model):
access_list = models.ManyToManyField(User)
在我的 Views.py 中,我将创建项目的用户保存到 中access_list
,然后在access_list
页面上显示用户access_update.html
,用户可以在其中添加另一个名称以提交到access_list
,从而允许更多协作者。还有一个删除用户按钮,因此您可以从access_list
.
不过,我最担心的是,现在,如果用户在 上access_list
,他们可以进入并从中删除原始创建者,access_list
并拒绝他们访问项目。
我想拥有 acreated_by = models.ForeignKey(User)
作为备份,以便我的许可基于created_by
OR access_list
,但尝试拥有 aForeignKey(User)
和 aManyToManyField(User)
不会在模型上验证。
有没有更好的方法来防止创建项目的用户被从列表中删除,同时仍然允许用户有能力挑选他们的合作者列表?