У меня есть эти две модели
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)
Однако этот фильтр не работает (он возвращает пустой набор запросов):
return Invitado.objects.filter(invitacion__host=request.user)
Если я фильтрую по оболочке, она работает, но не по админке. У меня есть группа администраторов, которая имеет разрешение только на добавление / изменение / удаление Invitados