django的语言和国家模型来自pycountry模块。
django-diplomat的Python项目详细描述
外交官
外交官为 分别是ISO 3166和ISO 639标准外交官被执行为 包装pycountry的一个子集,它的接口应该熟悉 该模块的用户。
安装
将外交官添加到已安装的应用程序中,然后运行syncdb命令 将创建所需的语言和国家模型。
型号使用
外交官的实地模型正好反映了pycountry数据库的属性 他们模仿的对象。除了这些属性之外,自定义管理器 方法可用于外交官提供的某些对象。
语言
isolanguage模型是pycountry.db.language模型的包装器。
>>> from diplomat.models import ISOLanguage >>> aragonese = ISOLanguage.objects.get(alpha2='an') >>> aragonese.alpha2 u'an' >>> aragonese.bibliographic u'arg' >>> aragonese.terminology u'arg' >>> aragonese.name u'Aragonese'
此外,它还提供了一个自定义模型管理器。
>>> from diplomat.models import ISOLanguage >>> all_languages = ISOLanguage.objects.all() >>> basic_languages = ISOLanguage.objects.basic() >>> usable_languages = ISOLanguage.objects.usable() >>> all_languages.count() > usable_languages.count() > basic_languages.count() True >>> all([l.alpha2 for l in all_languages]) False >>> all([l.alpha2 for l in basic_languages]) True >>> all_languages.filter(terminology='zxx').count() 1 >>> usable_languages.filter(terminology='zxx').count() 0
国家
isocountry模型是对pycountry.db.country模型的包装。
>>> from diplomat.models import ISOCountry >>> germany = ISOCountry.objects.get(alpha2='DE') >>> germany.alpha2 u'DE' >>> germany.alpha3 u'DEU' >>> germany.numeric u'276' >>> germany.name u'Germany' >>> germany.official_name u'Federal Republic of Germany'
字段用法
外交家提供了一系列简单的选择国家和 语言对象这些字段可以从外交官字段导入, 具体如下:
languagechoicefield 用于选择单个可用语言的字段。
LanguageMultipleChoiceField 用于选择多种可用语言的字段。
basicLanguageChoiceField 用于选择ISO 639-1所涵盖的单一基本语言的字段。
basicLanguageMultipleChoiceField 用于选择ISO 639-1所涵盖的多种基本语言的字段
CountryChoiceField 选择一个国家的字段
CountryMultipleChoiceField 选择多个国家的字段。