Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何使用多个关系跟踪用户成员资格?_Django_Entity Relationship - Fatal编程技术网

Django 如何使用多个关系跟踪用户成员资格?

Django 如何使用多个关系跟踪用户成员资格?,django,entity-relationship,Django,Entity Relationship,在多个组中存储用户的成员资格需要什么样的关系才能恢复: 用户参与某些组的历史记录(加入日期、退出日期) 确定其当前状态的当前用户组列表(按加入顺序) 在给定时间段内参与该组的用户列表 我猜它有很多种(或者说是一种丑陋的单亲),但我不知道如何使用它;需要一个最小的例子,最好是Django的模型 此外,当需要删除某些组/用户时,预计会出现哪些一致性问题? 成员 团体 团体成员 Groupmembers是您的联接表,具有以下功能: 成员(一个成员有多个groupmember记录) 组(一个组有多个

在多个组中存储用户的成员资格需要什么样的关系才能恢复:

  • 用户参与某些组的历史记录(加入日期、退出日期)
  • 确定其当前状态的当前用户组列表(按加入顺序)
  • 在给定时间段内参与该组的用户列表
  • 我猜它有很多种(或者说是一种丑陋的单亲),但我不知道如何使用它;需要一个最小的例子,最好是Django的模型

    此外,当需要删除某些组/用户时,预计会出现哪些一致性问题?

    • 成员
    • 团体
    • 团体成员
    Groupmembers是您的联接表,具有以下功能:

    • 成员(一个成员有多个groupmember记录)
    • 组(一个组有多个groupmember记录)
    • 创建日期
    • 删除日期(在适用之前保留空值)
    因此,对于您的要求:

  • 使用组查询groupmembers并按日期排序
  • 使用成员查询groupmembers(按创建日期排序)
  • 使用组查询groupmembers并删除为null(或在日期范围内)