我正在构建一个应用程序,假设存在某些组及其工作流程的权限。例如,“会员”可以登录应用程序并查看和编辑他们的个人数据,但看不到通常会显示在同一屏幕上的注释。“员工”可以查看这些笔记并创建或编辑自己的笔记,但只有“会员管理员”可以删除或编辑任何人的笔记。
我的问题是为这个应用程序引导数据。我可以为组创建 JSON 夹具数据,但是我必须对 PK 进行硬编码,这似乎是一种不好的做法(如果我想使用的第三方应用程序做了同样的事情并且发生了冲突怎么办?)问题是权限 - 我必须将 PK 添加到权限中,而权限又会将 PK 添加到其内容类型中。
我已经阅读了有关使用 post_syncdb 挂钩以更加程序化的方式添加初始数据的信息,我希望这将帮助我解决硬编码的 PK 问题。但是我想知道这是否是解决这个问题的最佳解决方案,或者我是否在这里“滥用”了 Django Group 和 Permission 概念,并且应该做其他事情,比如创建新模型或只是放置标志(比如“ is_member_manager") 在我的用户配置文件模型等