Django或Python中的“Field”和“Fields”是保留字吗?

时间:2014-07-02 16:19:34

标签: python django

我正在开发一个django农业项目。我想命名一个应用程序“字段”,在应用程序“字段”中,我想命名一个模型“字段”(指农民字段)。

我尝试了它并且它有效,所以我假设“fields”和“Field”不是Django或Python中的保留字。但我只是想知道在将来使用这些单词是否会有问题,或者它是否正常?

一般问题: 有没有办法检查Django或Python中是否保留了一个单词?

2 个答案:

答案 0 :(得分:2)

严格来说,"保留字"这是错误的用语。保留字是编程语言的属性,Django不是一种语言。

Field包中的Django中有一个名为django.db.models.fields的类,在django.forms.fields包中有一个名称相同且类似但不同的类。

但是,这些Field类是如此低级别的类,以至于您不太可能需要导入它们,因此它们不会干扰您自己的Field

在任何情况下,正如您所看到的,在Django本身中,同一个类可以存在于具有相同名称的多个包中。没关系,因为包名称充当命名空间,因此您始终可以使用其完整的包名称完全限定类。

Python中另一个有用的东西是导入具有不同名称的类:

from django.db.models.fields import Field as DjangoField
help(DjangoField)

同样,导入具有不同名称的包:

from django.db.models import fields as djangofields
help(djangofields.Field)

这样,您始终可以避免类和包名称中的冲突。

答案 1 :(得分:2)

有趣的小解释

答案只是

因为语言只有权拥有任何东西 .Python是房子的拥有者 Django的家伙正在向Python家支付租金。那么,Django家伙如何保留房子的物品呢?

此处也适用相同的逻辑