Python Django:将行插入数据库
我刚到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) 这
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请求-响应周期调用。如果要创建脚本在数据库中插入批量数据,应查看: