Django:将行插入数据库

Mil*_*ano 17 python mysql django insert

我是Django的新手.我已经通过插入模型创建了一个表models.py.

现在,我想在数据库中插入一行 - 表Dodavatel.我知道,我必须创建一个属性为列的对象.但我不知道我应该把这段代码放在哪里.在models.py

这是我的模特:

class Dodavatel(models.Model):
    nazov = models.CharField(default='', max_length=255)
    dostupnost = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

这是插入行的代码:

p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()
Run Code Online (Sandbox Code Playgroud)

我应该把这段代码放在哪里?

Luc*_*uca 27

如果您只想快速测试模型,可以启动交互式shell并在那里执行代码.

python manage.py shell
Run Code Online (Sandbox Code Playgroud)

上面的命令启动了一个用Django项目设置初始化的python交互式shell.

然后你可以这样做:

from your_app_name.models import Dodavatel
p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()
Run Code Online (Sandbox Code Playgroud)

我不建议直接在视图中使用该代码.而不是创建一个项目我会使用基于类的视图CreateView.

  • 您不应在手动执行的脚本中从您的 views.py 中调用函数。视图应由 django 请求-响应循环调用。如果您想创建一个脚本来在您的数据库中插入批量数据,您应该查看:https://docs.djangoproject.com/en/dev/howto/custom-management-commands/ (2认同)