Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:将行插入数据库_Python_Mysql_Django_Insert - Fatal编程技术网

Python Django:将行插入数据库

Python Django:将行插入数据库,python,mysql,django,insert,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) 这

我刚到Django。我通过将模型插入
models.py
创建了一个表

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

这是我的模型:

class Dodavatel(models.Model):
    nazov = models.CharField(default='', max_length=255)
    dostupnost = models.IntegerField(default=0)
这是插入行的代码:

p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()

我应该把代码放在哪里?

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

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

然后,您可以执行以下操作:

from your_app_name.models import Dodavatel
p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()

我不建议在视图中直接使用该代码。相反,要创建一个项目,我将使用基于类的视图,如
CreateView

首先运行“python manage.py syncdb”来创建数据库。然后,可以根据模型添加行。通常这是在视图函数中完成的。我编写了一个脚本,它将把行插入数据库。这是在我的script.py:views.add_Dodavatel(“petr”,1)中,这是在views.py:def add_Dodavatel(nazov,dostupnost):p=Dodavatel(nazov=nazov,dostupnost=dostupnost)p.save(),但当我运行script.py时,我得到错误:文件“C:\Python27\lib\site packages\django\db\models\base.py”,第92行,在新kwargs={“app标签”中:model_module.\uuuu name_uuu.split('..)[-2]}索引器:列表索引超出范围您不应在手动执行的脚本中从views.py调用函数。视图应该由django请求-响应周期调用。如果要创建脚本在数据库中插入批量数据,应查看: