а можно было бы сделать как-то лучше реализацию в моём случае, чем двойной ForeignKey? Нет никаких идей?
я не знаю специфики вашего проекта, я не задумался над этим... в моём случае, с check'ом я не вижу никаких проблем, наличие двух fk вместо 1 никак не мешает
конкретно в моём случае я абсолютно уверен в том, что этот дизайн с двумя fk не является кривым, а у вас, ну, надо ТЗ анализировать и прочее такое, смотреть, какие требования к системе вообще, как это всё будет использоваться в начале и потом
я так скажу - если смотреть с позиции студента, который сделал схему СУБД и защищает её перед преподавателем - он всегда может выкрутиться и объяснить любую свою ошибку "а так и было задумано, я специально так сделал"
когда-то давно я сам был таким студентом и после того, как мне указали на ошибку в схеме, я быстро смог придумать кейс, под который бы именно такой дизайн был удачным 😊 поэтому вопрос про кривая схема или нет - он тесно связан с ТЗ 😊без ТЗ или с размытым ТЗ любую схему можно выдать за правильную, имея некие навыки убеждения 😊
криво не 2 fk, криво - если проверки осуществляются только на уровне админки, замена админки не должна приводить к возможным проблемам с целостностью данных