2017-01-10 5 views
0

は、ここに私のモデルです:(保存呼び出すときにDjangoのモデルCharFieldですが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() 

エラーをスローする

File "/home/soverton/.local/lib/python3.5/site-packages/django/db/models/fields/init.py", line 946, in get_prep_value return int(value) ValueError: invalid literal for int() with base 10: 'Broker'

は、私は、次および取得のステータスOKメッセージ

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に移行するためにプロジェクトを再フォーマットし、移行履歴を削除しました。データベースに何か不思議なことはありますか?

+0

可能な複製である[:とValueError:Djangoのベース10と、INT()の無効なリテラル:(http://stackoverflow.com/questions/41463473/django-valueerror- invalid-literal-for-base-with-base-10) – e4c5

答えて

0

フィールド名を引数に直接帰属させていませんでした。

正解の

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

その理由は、整数主キーを格納する隠しフィールドidがあるからです。 – RemcoGerlich

関連する問題