【问题标题】:Creating a Django user model with groups and group admins使用组和组管理员创建 Django 用户模型
【发布时间】:2018-02-20 05:34:30
【问题描述】:

我正在创建包含用户和组的 django 网站...我正在尝试为用户提供离开组的选项...或者组管理员可以添加和删除用户...就像WhatsApp 小组运作...如何做到这一点?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    您可以通过创建两个模型来实现此功能。一个用于组,另一个用于 groupuser,例如

    class ChatGroup(models.Model):
        group_id = models.CharField(max_length=100)
        name = models.CharField(max_length=100, blank=True, null=True)
        group_admin = models.ForeignKey(User, related_name="grpadmin")
    
    def __str__(self):
        return self.chatgroupid
    

    创建另一个模型来保存聊天组成员的详细信息

    class ChatGroupUser(models.Model):
        user = models.ForeignKey(User, on_delete=models.CASCADE)
        chat_group = models.ForeignKey(ChatGroup, 
            on_delete=models.CASCADE)
    
    def __str__(self):
        return self.user.username
    

    您可以从第一个模型创建 grops 并将用户添加到第二个模型

    【讨论】:

    • 给管理员权限删除一个人怎么样?
    • 您已经知道谁是该组的管理员,请与此用户核对并添加删除逻辑,如果您想要权限,只需参考 django 默认权限 calss
    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2021-03-05
    • 2021-09-14
    • 2015-06-10
    • 1970-01-01
    • 2011-01-15
    相关资源
    最近更新 更多