У меня возникли проблемы с db_column параметра в Django. Допустим, я создал модель в моем models.py:модель - внешний ключ db_column Именование Issue
class Stats(models.Model):
fk = models.ForeignKey(Game, db_column='fk_gameId')
score = models.IntegerField(default=0)
и пытается сделать вставку в таблицу, которая генерируется из модели, образец кода для операции вставки, как:
dbQuery = Stats(fk_gameId = requestedGameId,
score = gameInfo['score'])
dbQuery.save()
, что происходит в том, что система выдает следующее сообщение об ошибке при выполнении:
TypeError: 'fk_gameId' is an invalid keyword argument for this function
Но если изменить первый параметр оператора вставки, как показано ниже:
dbQuery = Stats(fk_id = requestedGameId,
score = gameInfo['score'])
dbQuery.save()
, то он работает безупречно, хотя имя столбца в БД «fk_gameId», как я определил его в модели.
Это нормально или я что-то отсутствует. Можете ли вы помочь мне понять, в чем проблема? Спасибо.
Невозможно, чтобы я мог изменить имя поля в Django? Всегда ли будет myFieldNameForForeignKeyInModel + _id? – Phyticist
Большое спасибо за информацию. – Phyticist