如何从命令行(终端)创建模型实例

时间:2018-08-13 18:13:27

标签: django django-models django-database

我以为这是一个先前问过的问题,所以也许我的措辞不正确。

我尝试过:

manage.py python3.6 dbshell

然后:

 obj= Person.objects.create('Justin')

但是这没有用。感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

dbshell命令运行数据库的命令行客户端,因此您必须使用SQL在数据库中使用该行创建行。您真正想要的是shell命令。它会打开一个配置了Django的Python解释器,因此您可以在那里使用ORM。

答案 1 :(得分:3)

您处在正确的轨道上,但是在创建模型实例时,应为字段使用 named 参数,例如:

obj = Person.objects.create(name='Justin')

(当然,Person有一个name字段)

这是合乎逻辑的,因为模型可以具有多个字段,并且没有“固有”顺序。

使用 positional 参数非常危险,因为对字段进行简单的“改组”将导致模型对象构造出错。

答案 2 :(得分:1)

obj = Person.objects.create(name ='Justin')