Может ли кто-нибудь сказать мне, что означает обратная связь? Я начал использовать Django и во многих местах в документации, я вижу "обратную связь", упоминается. Что это значит? почему это полезно? Что это касается связанного_имя ссылки на этот пост?
Django Что такое обратная связь?
Ответ 1
Вот документация на related_name
Допустим, у вас есть 2 модели
class Group(models.Model):
#some attributes
class Profile(models.Model):
group = models.ForeignKey(Group)
#more attributes
Теперь из объекта профиля вы можете сделать profile.group
. Но если вы хотите, чтобы объекты профиля задавали объект group
, как бы вы это сделали? Thats ', где related name
или reverse relationship
входит.
Django по умолчанию дает вам значение по умолчанию related_name
, которое является ModelName (в нижнем регистре), за которым следует _set
- В этом случае это будет profile_set
, поэтому group.profile_set
.
Однако вы можете переопределить его, указав related_name
в поле ForeignKey
.
class Profile(models.Model):
group = models.ForeignKey(Group, related_name='profiles')
#more attributes
Теперь вы можете получить доступ к внешнему ключу следующим образом:
group.profiles.all()