Django模型CharField在调用save()时抛出int()错误



这是我的型号:

class MarketData(models.Model):
data_source = models.CharField(max_length=100)

这是我一直在测试的代码

python3 manage.py shell

然后,我运行这个

from q.models import MarketData
data = MarketData("Broker")
data.save()

哪个抛出错误

文件"/home/soverton/.local/lib/python3.5/site packages/django/db/models/fields/init.py",第946行,在get_prep_value中return int(value)ValueError:基数为10的int()的文字无效:"Broker">

我已经运行了以下操作,并获得了状态ok消息

python3 ./manage.py makemigrations q
Migrations for 'q':
q/migrations/0006_auto_20170110_1911.py:
- Alter field data_source on marketdata

最后,我用migrate来推动这些。

python3 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, q, sessions
Running migrations:
Applying q.0006_auto_20170110_1911... OK

那么,当应该保存一个字符时,我在保存时会得到什么int()错误呢?

我最近重新格式化了项目,从SQLite切换到PostgresSQL,并删除了迁移历史。数据库有什么奇怪的地方吗?

我没有直接将字段名归因于参数。

正确答案是

data = MarketData(data_source="Broker")
data.save()

最新更新