Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
Django ORM Join Query Issue

pp.pprint(AppUser.objects.filter(directory__user_id=F('id')).query.str())

('SELECT "users_appuser"."id", "users_appuser"."password", '
 '"users_appuser"."last_login", "users_appuser"."is_superuser", '
 '"users_appuser"."username", "users_appuser"."first_name", '
 '"users_appuser"."last_name", "users_appuser"."email", '
 '"users_appuser"."is_staff", "users_appuser"."is_active", '
 '"users_appuser"."date_joined", "users_appuser"."gender", '
 '"users_appuser"."age", "users_appuser"."avatar", "users_appuser"."about", '
 '"users_appuser"."city", "users_appuser"."state", '
 '"users_appuser"."location", "users_appuser"."location_updated", '
 '"users_appuser"."online", "users_appuser"."entered_offline", '
 '"users_appuser"."notifications", "users_appuser"."checkins", '
 '"users_appuser"."lock_expiration" FROM "users_appuser" INNER JOIN '
 '"chat_membershiphistory" ON ("users_appuser"."id" = '
 '"chat_membershiphistory"."user_id") WHERE '
 '"chat_membershiphistory"."user_id" = ("users_appuser"."id")')

I need to include all values from chat_membership into the final query

this is my Model class

class MembershipHistory(TimeStampedModel):
    Active = "A"
    Offline = "O"
    Away = "X"
    NEVER_JOINED = "N"
    Locked = "L"

    _STATUSES = ((Active, 'Active'), (Offline, 'Offline'), (Away, 'Away'),
                 (Locked, 'Locked'),
                 (NEVER_JOINED, 'Never joined'))

    room = models.ForeignKey('places.Place', related_name='directory')
    user = models.ForeignKey(AppUser, related_name='directory')
    lock_expiration = models.DateTimeField(null=True,
                                           blank=True,
                                           editable=True)
    type = models.CharField(max_length=1,
                            blank=False,
                            null=False,
                            choices=_STATUSES,
                            default="A")

    class Meta:
        ordering = ('room', 'user')
        unique_together = ('room', 'user')
        verbose_name = "Member"
        verbose_name_plural = "Members"

If I try select_related I always get the following error

Invalid field name(s) given in select_related: 'directory'. Choices are: auth_token
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

You should use prefetch_related

prefetch_related('directory')
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda