Для чего используются обратные родовые отношения? - PullRequest
0 голосов
/ 09 июня 2011

Документация о типах содержимого гласит:

Если вы знаете, какие модели вы будете использовать чаще всего, вы также можете добавить "обратные" общие отношения, чтобы включитьдополнительный API.

Но в чем их практическое применение?Я не понимаю.

1 Ответ

3 голосов
/ 09 июня 2011

Если у вас есть модель с:

A) Kitchen ---generic relation---> any food

Но вы знаете, что будете делать часто:

B) Vegetables.get_kitchen()

Вместо того, чтобы делать get_kitchen () вручную, вы можете добавить обратную связьв модели Vegetable и он получит для вас Kitchen.

Этот вид обратного отношения автоматически добавляется к другой модели для отношения OneToMany с использованием ForeignKey, потому что вы знаете, какие модели собираютсябыть на обеих сторонах отношения.

Так как с родовым отношением, это может быть любая модель, Django не добавляет обратное отношение для вас.Вы должны указать это вручную, если считаете, что вам это нужно.

...