Phy*_*ist 5 python django model foreign-keys
我在 Django 中遇到db_column参数的问题。假设我在 models.py 中创建了一个模型:
class Stats(models.Model):
fk = models.ForeignKey(Game, db_column='fk_gameId')
score = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)
并尝试对模型生成的表进行插入,插入操作的示例代码如下:
dbQuery = Stats(fk_gameId = requestedGameId,
score = gameInfo['score'])
dbQuery.save()
Run Code Online (Sandbox Code Playgroud)
发生的情况是系统在执行时抛出以下错误:
类型错误:“fk_gameId”是此函数的无效关键字参数
但是如果我更改插入语句的第一个参数,如下所示:
dbQuery = Stats(fk_id = requestedGameId,
score = gameInfo['score'])
dbQuery.save()
Run Code Online (Sandbox Code Playgroud)
然后它就可以完美地工作,尽管数据库中的列名称是“ fk_gameId ”,正如我在模型中定义的那样。
这是正常的还是我错过了什么。你能帮我理解这里的问题是什么吗?谢谢。
更改数据库中db_column列的名称。它不会更改 Django 使用的模型属性的名称。
由于您已将字段定义为fk = models.ForeignKey(...),因此 Django 中的字段名称仍为fk,并且原始 id 字段名为fk_id。
| 归档时间: |
|
| 查看次数: |
4927 次 |
| 最近记录: |