这是我的型号:
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()