Запрос поля с внешним ключом из другого поля, которое является внешним ключом для другого поля
У меня есть модель 3 модели модели 1 2 и 3 мне нужно получить доступ к модели 1 из модели 3 модель 2 имеет отношение внешнего ключа к модели 1 и модель 3 к модели 2 как можно получить доступ к модели 3 к модели 1
class Record(models.Model):
name = model.CharField(max_length=255)
class Task(model.Model):
name = models.CharField('Record')
record = models.ForeignKey(max_length, related_name='tasks')
class Subtask(models.Model):
name = models.CharField()
subtask_of = models.Foreignkey('Task', related_name=subtasks)
Мне нужно получить доступ к имени записи из подзадачи, как я могу этого добиться
Для фильтрации Subtask
по связанным Record.name
используйте двойные символы подчеркивания для отслеживания связей
exact_matches = SubTask.objects.filter(subtask_of__record__name='foo')
partial_matches = SubTask.objects.filter(subtask_of__record__name__icontains='foo')
Для доступа к Record.name
следуйте внешним ключам из вашего Subtask
объекта
subtask_obj.subtask_of.record.name