[英]Django - create a new instance of a model
回答
正如Sergey所指出的那样, 类Model(** kwargs)是无效的,并且是Django文档中的错字。
“类”部分来自他们在编写时使用的标记。
因此,它们在Django文档中的实际含义是:
创建对象
要创建模型的新实例,只需像其他任何Python类一样实例化它:
型号(** kwargs)
关键字参数只是您在模型上定义的字段的名称。 请注意,实例化模型绝不会影响您的数据库。 为此,您需要save()。
原始问题
在阅读有关Model实例的Django文档时,我发现了以下内容 :
创建对象
要创建模型的新实例,只需像其他任何Python类一样实例化它:
类模型(** kwargs)
关键字参数只是您在模型上定义的字段的名称。 请注意,实例化模型绝不会影响您的数据库。 为此,您需要save()。
这两个代码有什么区别?
class Model(**kwargs)
new_model = Model(**kwargs)
我知道第二个实例使用kwargs创建了Model类的新实例。
第一个与此不同吗? 在我看来,它似乎重新定义了Model类。
class Model(**kwargs)
不是有效的Python语法 ,后者看起来像
class Model(SomeBaseClass):
pass
从格式判断(该行看起来像一个子标题),这在Django文档中一定是错误的。
如果查看页面的Sphinx源 ,您会发现“类”实际上是Sphinx标记的一部分。 他们的意思是
要创建模型的新实例,只需像其他任何Python类一样实例化它:
Model(**kwargs)
关键字参数只是您在模型上定义的字段的名称。
第一行定义一个类。 第二行定义了一个类的实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.