Python ValueError:字段';id';应为一个数字,但得到';这是我的梦想;。通过控制台添加项目后
我正试图通过命令行将一项添加到db.sqlite3中Python ValueError:字段';id';应为一个数字,但得到';这是我的梦想;。通过控制台添加项目后,python,django,Python,Django,我正试图通过命令行将一项添加到db.sqlite3中 In [10]: m = Meldung('Die erste Meldung', zeitstempel=datetime.today(), text='Nun kommt das klassische Hallo-Welt-Beispiel.') In [11]: m.save() 但我犯了这个错误: ValueError: Field 'id' expected a number but got 'Die erste Meldung
In [10]: m = Meldung('Die erste Meldung', zeitstempel=datetime.today(), text='Nun kommt das klassische Hallo-Welt-Beispiel.')
In [11]: m.save()
但我犯了这个错误:
ValueError: Field 'id' expected a number but got 'Die erste Meldung'.
contentobject Meldung字段id下方的Inside migrations\0001_initial.py被声明为auto_created=True,但它似乎没有按预期工作
我怎样才能解决它
- 预期结果
字段“id”由db.sqlite3自动生成 - 环境
Python 3.8.2
Django 3.1.3 - models.py
- 迁移\0001_initial.py
如果按位置传递值(因此不带参数名称),则第一个参数是
id
,因此将'Die erste Meldung'
分配给字段,而不是title
您可以通过将其作为命名参数传递来解决此问题:
m = Meldung(
title='Die erste Meldung',
zeitstempel=datetime.today(),
text='Nun kommt das klassische Hallo-Welt-Beispiel.'
)
m = Meldung(
None,
'Die erste Meldung',
zeitstempel=datetime.today(),
text='Nun kommt das klassische Hallo-Welt-Beispiel.'
)
但是,正如您自己所发现的那样,它不清楚每个值在Meldung
对象中代表什么。这很好:m=Meldung(tittel='Die erste Meldung',zeitstempel=datetime.today(),text='Nun kommt das klassiche Hallo Welt beispel'
m = Meldung(
title='Die erste Meldung',
zeitstempel=datetime.today(),
text='Nun kommt das klassische Hallo-Welt-Beispiel.'
)
m = Meldung(
None,
'Die erste Meldung',
zeitstempel=datetime.today(),
text='Nun kommt das klassische Hallo-Welt-Beispiel.'
)