Как Django определяет какая модель создает ForeignKey связь

Стало интересно каким именно образом django при создании ForeignKey связи понимает какая именно модель её создает, ведь при создании экземпляра ForeignKey не передается self.

class Bar(models.Model):
    ...

class Foo(models.Model):
    bar = models.ForeignKey(Bar, on_delete=models.CASCADE)

Можете объяснить механизм получения экземпляра объекта Foo при создании его связи с Bar?

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