-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
需求
基本需求梳理
- 可以指定管理员管理指定节点。
- 节点具有树状层级关系,因此管理员也应该有树状层级关系。
- 节点和管理员也是多对多的关系。
- 大的节点管理员可以管理子节点管理员。
- 对应直接节点管理员直接管理对应节点的主题及评论,也就是大的节点管理员不对主题和帖子进行跨级管理。
模型
为此增加多对多关联的 NodeModeratorRelation 中间表
class NodeModeratorRelation(BaseModel):
"""节点及管理员关联中间表"""
node = models.ForeignKey(Node, on_delete=models.CASCADE, verbose_name="节点")
moderator = models.ForeignKey(WepostUser, on_delete=models.CASCADE, verbose_name="管理员")
memo = models.CharField("备注", max_length=128, blank=True, default='')Node 模型也增加多对多的关联定义:
moderators = models.ManyToManyField(WepostUser, symmetrical=False, through='NodeModeratorRelation',
through_fields=('node', 'moderator'), related_name="moderated_node_set")Reactions are currently unavailable