Я разрабатываю внутреннее приложение для компании, в которой я работаю, и хочу использовать Django для его изучения и Python в целом, однако я столкнулся с проблемой с PK.
Я пытаюсь эмулировать часть текущего приложения, где 2 таблицы MySQL, TaskCategory и Tasks, выполняют задачи, которые необходимо выполнить.Каждая задача принадлежит категории TaskCategory, и у каждого элемента в TaskCategory есть свой собственный отдельный номер приращения.Таким образом, если «Офис» имеет 15 задач, добавление к нему другой задачи приведет к ее Task.taskid = 16, а добавление задачи к «Транспортным средствам» приведет к созданию Tasks.taskid = 51, а не 17. Затем он будет использоваться какномер отслеживания, например, задача «Транспортные средства-51».
Это отдельное увеличение было достигнуто благодаря наличию сложного первичного ключа в задачах, состоящего из taskcategoryid и taskid (которые автоматически увеличиваются).Кстати, Tasks.taskcategoryid - это не FK (я не думаю, что это может быть так или иначе, поскольку это часть составного PK).
Поскольку Django не нравится больше, чем 1 PK column I 'У нас были некоторые трудности с копированием этой функции.Я пробовал unique_together из taskid (автоинкрементный PK) и taskcategoryid (FK), и я пробовал иметь 2 автоинкрементных столбца (id и taskid), но вы не можете иметь более одного автоинкрементного столбца.
Можно ли достичь этой функции увеличения с помощью Django?Я бы предпочел сделать это без необходимости взламывать исходный код, но сделаю это при необходимости.