Я пытаюсь создать веб-приложение, используя django и подключаясь к базе данных SQL Server.Таблица, которую я использую для отображения данных в форме django, состоит из 2 столбцов.Оба они являются внешним ключом, и оба они вместе строят первичный ключ таблицы
CREATE TABLE [dbo]. [MyTable] ([ID_Field1] [int] NOT NULL, [ID_Field2][int] NOT NULL, CONSTRAINT [PK_Movies2Genres] ПЕРВИЧНЫЙ КЛЮЧ КЛАСТЕРИРОВАН ([ID_Field1] ASC, [ID_Field2] ASC) С (PAD_INDEX = ВЫКЛ, STATISTICS_NORECOMPUTE = ВЫКЛ, IGNORE_DUP_KEY = ВЫКЛЮЧЕНО, ALLOW_RO_WOW_WOR_WOR_WOR_WOR_WORGE_ROW)) ВКЛЮЧЕНО [ОСНОВНОЕ]
ИЗМЕНИТЬ ТАБЛИЦУ [dbo]. [MyTable] С ПРОВЕРКОЙ ДОБАВИТЬ, ОГРАНИЧЕНО [FK_Field2] ВНЕШНИЙ КЛЮЧ ([ID_Field2]) ССЫЛКИ [dbo]. [Table2] ([ID_Field2])
ALTER TABLE [dbo]. [MyTable] CHECK CONSTRAINT [FK_Field2]
ALTER TABLE [dbo]. [MyTable] С CHECK ADD CONSTRAINT [FK_Field1] ИНОСТРАННЫЙ КЛЮЧ ([ID_Field1]) ССЫЛКИ [dbo]. [Table1] ([ID_Movie])
ALTER TABLE [dbo]. [MyTable] CHECK CONSTRAINT [FK_Field1]
Теперь, django не может создать модель, соответствующую этому видуструктуры таблицы SQL, то есть он не может создать прimary-ключ, состоящий из нескольких полей.Вместо этого он устанавливает первичный ключ в одном из 2 столбцов, а в мета-разделе класса модели он устанавливает
unique_together = (('id_field1', 'id_field2'),)
Полная модель:
Класс MyTable (models.Model):
id_field1 = models.ForeignKey(Table1, on_delete=models.DO_NOTHING, db_column='ID_Field1')
id_field2 = models.ForeignKey(Table2, on_delete=models.DO_NOTHING, db_column='ID_Field2')
class Meta:
managed = False
db_table = 'MyTable'
unique_together = (('id_field1', 'id_field2'),)
Однако, вот что django inspectdb говорит мне сделать,Я знаю, что django автоматически создает поле с именем id, когда не определен первичный ключ.Это, кажется, имеет место здесь, хотя определен первичный ключ.Есть идеи, как справиться с этой проблемой?