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

jus*_*tin 5 django django-models django-database

我认为这会是之前提出的问题,所以也许我的措辞不正确。

我试过:

manage.py python3.6 dbshell
Run Code Online (Sandbox Code Playgroud)

进而:

 obj= Person.objects.create('Justin')
Run Code Online (Sandbox Code Playgroud)

但这不起作用。谢谢你的帮助。

Wil*_*sem 7

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

obj = Person.objects.create(name='Justin')
Run Code Online (Sandbox Code Playgroud)

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

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

使用位置参数将是非常危险的,因为字段的简单“重新洗牌”会导致模型对象构造出错。


mat*_*szb 5

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