0
나는 내 사이트에 ACCESS_LIST에 대한 ManyToManyField
을 사용하고있는 사용자 액세스 목록 관리 access_list
을 입력 한 다음 access_list
에 access_update.html
페이지의 사용자를 표시합니다. 여기서 사용자는 access_list
에 제출할 다른 이름을 추가하여 더 많은 공동 작업자를 허용 할 수 있습니다. access_list
에서 사용자를 삭제할 수 있도록 사용자 제거 버튼도 있습니다.장고는 manytomany 필드
내 관심사는 바로 지금 사용자가 access_list
에있는 경우 원래 작성자를 access_list
에서 삭제하고 프로젝트에 대한 액세스를 거부 할 수 있다는 것입니다.
created_by
또는
access_list
를 기반으로하지만,
ForeignKey(User)
이 시도 될 수 있도록 백업으로
created_by = models.ForeignKey(User)
을하고 싶어하고
ManyToManyField(User)
은 모델에 유효성을 검사하지 않습니다.
사용자가 공동 작업자 목록을 삭제할 수 있도록 허용하면서 프로젝트를 만든 사용자가 목록에서 부팅되지 않도록하는 더 좋은 방법이 있습니까?
내 ManyToManyField 지금의 유효성을 검사하는 설치 작업, 문제가 ManyToManyField의 모든 사용자가 ManyToManyField에서 다른 사용자를 제거 할 수 있습니다 더 자신을 포함하여 무엇을 방지하고 싶습니다. "created_by = Models.ForeignKey (User)"는 access_list * 또는 * created_by에 대한 권한을 설정할 수 있기 때문에 도움이되지만 같은 모델에서 ForeignKey (User)와 ManyToManyField (User)를 가질 수 없습니다. –
그래서 당신이 바라는 것은 변경보기에서'access_list'를 숨기고 모델에 저장하지 않도록하는 것입니다. –
나는 access_list에있는 사람들이 access_list에서 사용자를 추가하거나 삭제할 수 있기를 원하지만, 원래 프로젝트를 만든 사람에 대한 보호를 원한다. 따라서 access_list에있는 사악한 사람이 access_list에서 모든 사람을 제거 할 수 없으며 전체 프로젝트를 비활성화하십시오. 지금 새 프로젝트를 만들면 access_list에 저장되고 다른 사용자를 추가 할 수 있습니다. 그러나 해당 목록의 다른 사용자가 원래 사용자를 제거 할 수 있습니다. 그걸 막을 방법이 필요해. –