首页 > 解决方案 > 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()

我究竟做错了什么?

谢谢

标签: python

解决方案


从 .09 版开始:如文档中所述

您还可以使用 create 方法将模型保存在一行中,但您需要在模型上指定可填充或受保护的属性,因为默认情况下所有模型都受到保护以防止批量赋值。

在您的模型中,您必须添加:

class Location(Model):
    __fillable__ = ['postcode']

参考: https ://github.com/sdispater/orator/issues/302 :


推荐阅读