Обратный поиск внешних ключей в Django не работает

Info Я использую абстрактные модели в django все работает нормально вместо queryset я пытаюсь сделать запрос для Domain который связан с моделью клиента. Но я не понимаю, почему Reverse Lookups of Foreign Keys не работает?

TenantMixin && DomainMixin

class TenantMixin(models.Model):
    schema_name = models.CharField(max_length=63, unique=True, db_index=True)

    class Meta:
        abstract = True

class DomainMixin(models.Model):
    domain = models.CharField(max_length=253, unique=True, db_index=True)
    tenant = models.ForeignKey(settings.TENANT_MODEL, db_index=True, related_name='domains', on_delete=models.CASCADE)

    class Meta:
        abstract = True

Client

class Client(TenantMixin):
    name = models.CharField(max_length=100)


class Domain(DomainMixin):
    pass

QuerySet

tenant = Client.objects.all()
    for t in tenant:
        for i in t.domain_set.all():
            print(i)

Вы установили related_name=… параметр [Django-doc] на 'domains', следовательно, вы ищете обратное с помощью:

tenant = Client.objects.all()
for t in tenant:
    for i in t.domains.all():
        print(i)

Note: There is no need to specify db_index=True [Django-doc] for a ForeignKey [Django-doc]. As the documentation specifies: A database index is automatically created on the ForeignKey..

Вернуться на верх