我事先知道会有哪些用户群。在开发过程中,我们经常重置明显的db。但是我想知道放置这些信息的最佳位置在哪里以及何时将它放到数据库中因为我不希望每次都通过django admin手动执行此操作。
我想出这样的事情:
我有简单的perms地图,我可以通过函数将所需信息输入数据库。
GROUP_PERMISSION_MAP = {
user_constants.GROUPS.ADMINISTRATORS: {
Bet: ['add', 'change', 'delete'],
Transaction: [],
User: ['add', 'change'],
Category: ['add', 'change', 'delete'],
BetInfo: ['add', 'change', 'delete'],
},
user_constants.GROUPS.REGULAR_USERS: {
Bet: ['add'],
Transaction: [],
User: ['change'],
Category: [],
BetInfo: ['add', 'change', 'delete'],
}
}
def assign_perms_to_group(group: Group, model: Model, permissions: List[str]):
permission_codenames = ['{}_{}'.format(permission, model.__name__.lower()) for permission in permissions]
group.permissions.add(*Permission.objects.filter(codename__in=permission_codenames))
最佳做法是什么?应该如何做?
特别是我的问题是: