Изучение лучшего способа сделать это (Модели Django)

Я делаю Django и у меня есть 4 модели. Район, провинция, школы и пользователь. Округ принадлежит провинции, в модели/таблице School есть внешние ключи, к которым принадлежат школы. В таблице User у меня есть внешние ключи District, Province и School. Эти кортежи были названы Province или District в таблицах, которые являются FK. Ошибка, которую я получаю, заключается в конфликте и необходимости добавить related_name. Мне нужно, чтобы кто-нибудь объяснил мне значение для related_name. Из моего чтения следует, что оно показывает имя таблицы, если FK находится в модели Comments, то related_name='comments'. В моем случае у меня есть три FK в модели User, так как мне управлять этим?

Надеюсь, это попытается объяснить мой вопрос.

related_name используется для обратных отношений...

Пример одного: из объекта District я хочу получить всех учеников в различных

districtObj.student_set.all()
# > Returns a list of Students

# format: {model}_set

Теперь у вас есть конфликт, потому что student_set (по умолчанию) занято, я не знаю на 100% почему, но это так.
Может кто-то умнее меня объяснит...

Теперь, когда вы знаете, что вы устанавливаете, надеюсь, вы сможете придумать схему именования...

Вот пример: если вы установите связанное имя Student.distinct в 'students_in_district', вы будете использовать его следующим образом:

districtObj.students_in_district.all()

Надеюсь, это поможет!

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