[英]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.