Я пытаюсь отфильтровать таблицу в Django на основе значения определенного поля ForeignKey, которое является полем третьей таблицы ForignKey.
class A(models.Model):
user_type = models.CharField(blank=True, max_length=32)
description = models.CharField(blank=True,max_length=512)
class B(models.Model):
user = models.OneToOneField(User, on_delete=models.PROTECT)
name = models.CharField(max_length=32, blank=True)
surname = models.CharField(max_length=32, blank=True)
user_type = models.ForeignKey(A,on_delete=models.SET_NULL, null=True)
class C(models.Model):
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
user_profile = models.ForeignKey(B,on_delete=models.SET_NULL, null=True)
test = models.CharField(blank=False,max_length=512)
вот запрос, который я хочусделать: я хочу запросить на C
и найти user_type_id
на B
, а затем отфильтровать user_type
значение на A
что-то вроде этого (просто чтобы показать, что я хочу):
models.C.objects.filter(test="test").filter(B__user_type_id__A__user_type = 1)
окончательный результат:
Я хочу получить все данные, которые test="test"
в таблице C
и user_type = 1
в таблице A