Django模型CharField在调用save()

时间:2017-01-10 19:16:47

标签: django django-models

这是我的模特:

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/的初始化的.py&#34 ;,   第946行,在get_prep_value中       return int(value) ValueError:对于带有基数为10的int()的无效文字:'经纪人'

我已运行以下内容并获取状态确认消息

python3 ./manage.py makemigrations q

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

最后,我推动那些迁移。

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

那么在保存时应该保存一个char时我得到一个int()错误是什么?

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

1 个答案:

答案 0 :(得分:0)

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

正确的答案是

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