玩蛇网提供最新Python编程技术信息以及Python资源下载!

Django控制不同类型用户访问权限怎么实现

现在我的Django网站要实现两种类型的用户,
本来我的想法是利用 permissions ,控制不同类型用户的访问权限,但是发现有一个问题。
大概的情况是:

1.一类用户不可以发图片(暂称为第一类用户),而另一类用户可以发图片(暂称为第二类用户),这个很容易通过设置permissions实现
2. 第一类用户可以关注第二类用户,这个先设置permissions,然后应该用ManyToManyField来实现,因为一个第一类用户可以关注很多个第二类用户,一个第二类用户也可以被很多个第一类用户关注。

但是问题是:如果用ManyToManyField,那必须将两类用户存在两个数据表中,
Django虽然可以自定义用户模型,但是他只支持一个认证模型啊,
将两类用户存在两个数据表中如何实现好?

Django 的many-to-many 是支持recursive的,然后在加一个字段表示用户类型。基本的模型可能如下:

    class YourModel(models.Model):

        """ your model description """

        UserType = [
            (1, '第一类用户'),
            (2, '第二类用户'),
        ]

        user = models.ManyToManyField("self")  # recursive many to many relationship
        user_type = models.IntegerField("用户类型", choices=UserType)

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19536.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月17日 - 16时57分23秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules