我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_byOR access_list,但尝试拥有 aForeignKey(User)和 aManyToManyField(User)不会在模型上验证。
有没有更好的方法来防止创建项目的用户被从列表中删除,同时仍然允许用户有能力挑选他们的合作者列表?