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)