Создание точного столбца django db для FK

103
9

У меня возникла проблема с созданием внешнего ключа в моей таблице. Таблица внешних ключей:

CREATE TABLE 'main_app_provider' (
'provider' varchar(100) NOT NULL DEFAULT '',
'provider_slug' varchar(100) DEFAULT NULL,
PRIMARY KEY ('provider'),
KEY 'main_app_provider_75a6f163' ('provider_slug')
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Если я делаю общий provider = models.ForeignKey('main_app.Provider') я получаю errno:150. Как добавить поле в django с точными критериями, определенными в провайдере?

спросил(а) 2012-05-10T22:33:00+04:00 8 лет, 8 месяцев назад
1
Решение
60

Используйте to_field чтобы указать поле, которое Django должен использовать в качестве первичного ключа.

provider = models.ForeignKey('main_app.Provider', to_field='provider')

ответил(а) 2012-05-10T23:08:00+04:00 8 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема