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