Обязательно ли ссылаться на внешний ключ, даже если он имеет только одного родителя?
Предположим, что есть учреждение, и это учреждение имеет много объявлений, поэтому я собираюсь хранить эти объявления в таблице.
Вот как это выглядит,
class institution:
- name
- address,
- .....etc
class announcements:
- owner = models.ForeignKey(Institution, on_delete=models.CASCADE)
- messages,
- ...etc
После этого не будет никаких новых учреждений, так что действительно ли мне нужно добавить FK в таблицу объявлений? Или я могу просто создать таблицу без FK, поскольку я могу напрямую вызывать объявления без необходимости FK
Да, безусловно, можете - по вашему проекту у вас одно учреждение, и поэтому все объявления будут относиться к этому учреждению, и в этом нет никаких сомнений. Однако это означает, что вы не сможете в будущем добавить объявления для другого учреждения, если цель вашего приложения изменится, без необходимости изменять вашу модель, чтобы включить указанное отношение FK. Это не очень большая проблема, но вам придется изменить не только ваши модели, но и ваши представления, чтобы связать эти две связи.