Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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 admin-get_queryset中的筛选器不工作_Python_Django_Django Admin - Fatal编程技术网

Python Django admin-get_queryset中的筛选器不工作

Python Django admin-get_queryset中的筛选器不工作,python,django,django-admin,Python,Django,Django Admin,我有这两种型号 class Invitacion(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) host = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) name = models.CharField(max_length=256, verbose_

我有这两种型号

class Invitacion(models.Model):
   id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
   host = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
   name = models.CharField(max_length=256, verbose_name="Nombre Invitacion")


class Invitado(models.Model):
   id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
   invitacion = models.ForeignKey(Invitacion, on_delete=models.CASCADE)
   name = models.CharField(max_length=50)
 ...
并在管理员中向

admin.site.register(Invitacion)

@admin.register(Invitado)
class InvitadoAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        if request.user.is_superuser:
            return Invitado.objects.all()
        return Invitado.objects.filter(invitacion__host=request.user)
但是,此筛选器不起作用(它返回一个空查询集):

如果我在shell上进行筛选,它会工作,但在admin上不会。
我有一个管理员组,只允许添加/更改/删除Invitados

您使用的是什么Django版本?我使用的是版本Django.version(2,2,10,'final',0)您指的是什么“它不工作”?确切的问题是什么?一些错误?不正确的行为?@dirkgroten它返回一个空的queryset,但数据库有正确的值。然后,筛选器不正确:
请求。用户与您的想法不同。
return Invitado.objects.filter(invitacion__host=request.user)