我很抱歉,如果这是一个愚蠢的问题,但我很难找到如何在视图中创建模型的新实例。
引用this question,我尝试了
foo = FooModel()
save()
但我收到了一个NameError:name' save'没有定义。 然后我尝试了
bar = BarModel.objects.create()
但得到了AttributeError:'经理'对象没有属性'创建'。
我不理解一些非常微不足道的事情吗?也许这些命令只适用于命令行?在这种情况下,如何从代码中创建新对象或过滤它们等等?
答案 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