Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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
Python 不包括django中的两类用户_Python_Django - Fatal编程技术网

Python 不包括django中的两类用户

Python 不包括django中的两类用户,python,django,Python,Django,我在django中有一个应用程序,希望在我的视图中排除匿名用户和管理员用户以及具有标志超级用户的用户 我已经有了排除匿名用户的代码,但是如何将管理员用户放在这里呢 我的模型 class MyModel(models.Model): user = models.ForeignKey(User, blank=True, null=True) name = models.CharField(max_length=255, blank=True, null=True) 我的问题是: d

我在django中有一个应用程序,希望在我的视图中排除匿名用户和管理员用户以及具有标志超级用户的用户

我已经有了排除匿名用户的代码,但是如何将管理员用户放在这里呢

我的模型

class MyModel(models.Model):
    user = models.ForeignKey(User, blank=True, null=True)
    name = models.CharField(max_length=255, blank=True, null=True)
我的问题是:

def get_queryset(self):
    return User.objects.all().exclude(id=settings.ANONYMOUS_USER_ID)
只需添加“排除依据is_超级用户”字段:

只需添加“排除依据is_超级用户”字段:


您也可以使用Q来尝试这一点


您也可以使用Q来尝试这一点


所有管理员都有一个attribute is_staff=True


User.objects.all.excludeid=settings.ANONYMOUS\u User\u ID.excludeis\u staff=True

所有管理员都有一个属性is\u staff=True

User.objects.all.excludeid=settings.ANONYMOUS\u User\u ID.excludeis\u staff=True

。。。你可以指定你不想让它访问的人


。。。您可以指定您不希望它访问的用户。

非常感谢。它在一种情况下有效。你能看看更新我的帖子吗?我需要从不同的模型中排除用户…使用MyModel.objects.excludeuser\uuuu id=settings.ANONYMOUS\u User\uu id.excludeuser\uu是\u superuser=True查询。非常感谢。它在一种情况下有效。你能看看更新我的帖子吗?我需要从不同的模型中排除用户…使用MyModel.objects.excludeuser\uuuu id=settings.ANONYMOUS\u User\u id.excludeuser\uu is\u superuser=True查询。
User.objects.all().exclude(id=settings.ANONYMOUS_USER_ID) \
                  .exclude(is_superuser=True)
from django.db.models import Q
User.objects.exclude(Q(id=settings.ANONYMOUS_USER_ID) | Q(is_superuser=True))
User.objects.all().exclude(id=)