繁体   English   中英

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

[英]How do I create an instance of a model in views.py?

很抱歉,如果这是一个愚蠢的问题,但是我在寻找如何在视图内部创建模型的新实例时遇到了麻烦。

参考这个问题 ,我尝试做

foo = FooModel()
save()

但我收到一个NameError:未定义名称“保存”。 然后我尝试

bar = BarModel.objects.create()

但出现AttributeError:“ Manager”对象没有属性“ Create”。

我不是很了解琐碎的东西吗? 也许这些命令仅用于命令行? 在这种情况下,如何从代码中创建新对象或对其进行筛选等?

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

foo = FooModel()
foo.save()

您的第二个示例看起来还可以。 确保您正在调用create() (全部为小写):

bar = BarModel.objects.create()

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

如果仍然无法解决问题,请使用实际代码和完整的追溯更新您的问题。 使用像FooModel这样的FooModel名称将使问题更难发现。

save是实例的方法,应为:

foo = FooModel()
foo.save()

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM