如何在views.py中创建模型的实例?

时间:2018-02-16 17:50:55

标签: python django django-models

我很抱歉,如果这是一个愚蠢的问题,但我很难找到如何在视图中创建模型的新实例。

引用this question,我尝试了

foo = FooModel()
save()

但我收到了一个N​​ameError:name' save'没有定义。 然后我尝试了

bar = BarModel.objects.create()

但得到了AttributeError:'经理'对象没有属性'创建'。

我不理解一些非常微不足道的事情吗?也许这些命令只适用于命令行?在这种情况下,如何从代码中创建新对象或过滤它们等等?

3 个答案:

答案 0 :(得分:5)

对于第一个示例,您需要在对象上调用save方法,例如foo.save()而非save()

foo = FooModel()
foo.save()

你的第二个例子看起来不错。确保您正在调用create()(全部小写):

bar = BarModel.objects.create()

消息... no attribute 'Create'.表示您正在调用BarModel.objects.Create(),这是不正确的。

如果仍然无效,请使用实际代码和完整回溯更新您的问题。使用像FooModel这样的组合名称会让人更难看到问题。

答案 1 :(得分:4)

save是实例的方法,应该是:

foo = FooModel()
foo.save()

答案 2 :(得分:0)

要从模型中创建对象的新实例,请执行以下操作:

models.py

class Test(models.Model):
    id = models.AutoField(primary_key=True)

views.py

test = Test()

您也可以使用构造函数:

test = Test(id=3)
test.save() # save object to database
test.objects.filter(id=3) # get object from database