python - Python Orator ORM 只通过 save 方法创建模型
问题描述
我希望有人可以向我解释为什么该create
方法没有在数据库中创建记录,但是如果我实例化模型save
,那么它将持续存在于数据库中。
使用 create 方法时出现以下错误。
TypeError: __init__() got an unexpected keyword argument 'postcode'
# Not working
location = Location.create(postcode="TS1 3ST")
# Working
location = Location()
location.postcode = "TS1 3ST"
location.save()
我究竟做错了什么?
谢谢
解决方案
从 .09 版开始:如文档中所述
您还可以使用 create 方法将模型保存在一行中,但您需要在模型上指定可填充或受保护的属性,因为默认情况下所有模型都受到保护以防止批量赋值。
在您的模型中,您必须添加:
class Location(Model):
__fillable__ = ['postcode']
参考: https ://github.com/sdispater/orator/issues/302 :