1

答案

正如 Sergey 指出的那样,类 Model(**kwargs)是无效的,并且是 Django 文档中的错字。
“类”部分来自他们编写时使用的标记。

因此,它们在 Django 文档中的实际含义是:

创建对象

要创建模型的新实例,只需像任何其他 Python 类一样实例化它:

型号(**kwargs)

关键字参数只是您在模型上定义的字段的名称。请注意,实例化模型绝不会触及您的数据库;为此,您需要保存()。






我在阅读 有关模型实例的 Django 文档时发现了以下原始问题

创建对象

要创建模型的新实例,只需像任何其他 Python 类一样实例化它:

类模型(**kwargs)

关键字参数只是您在模型上定义的字段的名称。请注意,实例化模型绝不会触及您的数据库;为此,您需要保存()。


这两个代码有什么区别?

class Model(**kwargs)
new_model = Model(**kwargs)


我知道第二个使用 kwargs 创建了 Model 类的新实例。
第一个和它不一样吗?对我来说,它似乎重新定义了 Model 类。

4

2 回答 2

6

class Model(**kwargs)不是有效的 Python 语法,后者看起来像

class Model(SomeBaseClass):
    pass

从格式来看(该行看起来像一个副标题),这一定是 Django 文档中的错误。

如果您查看页面的 Sphinx 源代码,您会发现“类”实际上是 Sphinx 标记的一部分。他们的意思是

要创建模型的新实例,只需像任何其他 Python 类一样实例化它:

Model(**kwargs)

关键字参数只是您在模型上定义的字段的名称。

于 2013-02-25T20:08:20.377 回答
0

第一行定义了一个类。第二行定义了一个类的实例。

于 2013-02-25T19:58:51.277 回答