Как мы используем prefetch_related в 2-х уровнях от многих ко многим полям - PullRequest
0 голосов
/ 29 марта 2019

Я использую многие из многих поданных, и я использовал Prech_related для оптимизации запроса

Я хочу получить почтовый идентификатор всей дочерней компании. как можно добиться этого кода:


class AuthUser(AbstractBaseUser, PermissionsMixin):
    user_code = models.CharField(max_length=10, unique=True)
    user_type = models.ForeignKey(UserTypes, on_delete=models.SET_NULL, null=True)
    address = models.CharField(max_length=100, null=True)
    email = models.EmailField(max_length=100, null=False)

class Company(models.Model):
    company_name = models.CharField(max_length=100, null=False, unique=True)
    company_short_name = models.CharField(max_length=100, null=True, blank=True)
    company_type = models.CharField(max_length=1, choices=company_type, default="T")
    child_company = models.ManyToManyField('self', blank=True)
    users = models.ManyToManyField(AuthUser, blank=True)

Я пытался

user_data = Company.objects.filter(id=1).prefetch_related('child_company', 'child_company__users')
...