严格来说,“保留字”在这里是错误的术语。保留字是编程语言的属性,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)
</code>
同样,导入具有不同名称的包:
from django.db.models import fields as djangofields
help(djangofields.Field)
</code>
这样,您始终可以避免类和包名称中的冲突。