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

How to create model instances from command line (terminal)

我认为这是一个以前问过的问题,所以可能我措辞不正确。

我试过了:

manage.py python3.6 dbshell

然后:

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

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

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

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

您的方向是正确的,但是当您创建模型实例时,您应该为字段使用 named 参数,例如:

obj = Person.objects.create(<b>name=</b>'Justin')

(假设 Person 有一个 name 字段)

这是合乎逻辑的,因为一个模型可以有多个字段,并且没有 "inherent" 顺序。

使用 positional 参数会非常危险,因为简单的 "reshuffle" 字段会导致模型对象构造出错。