{ "info": { "author": "Artem Vlasov", "author_email": "root@proscript.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: Russian", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0424\u0418\u0410\u0421 \u0432 Django\n\n\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\n====================\n\n* \u0418\u043c\u043f\u043e\u0440\u0442 \u0431\u0430\u0437\u044b \u0424\u0418\u0410\u0421 \u0438\u0437 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 XML \u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441 \u0441\u0430\u0439\u0442\u0430 http://fias.nalog.ru\n* \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0411\u0414\n* \u041f\u043e\u043b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 AddressField, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 Django ajax-\u043f\u043e\u0438\u0441\u043a \u0430\u0434\u0440\u0435\u0441\u0430\n* \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044f AddressField (`\u0434\u0435\u043c\u043e `_)\n* \u0421\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0440\u0430\u0439\u043e\u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0432 AddressField \u0433\u043e\u0440\u043e\u0434\u0430 (\u0440\u0430\u0439\u043e\u043d\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0443\u043b\u0438\u0446\u0430\u043c, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f)\n* \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0438\u0445 \u0436\u0438\u0437\u043d\u044c\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n============\n\n1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 `django-fias`::\n\n pip install django-fias\n\n2. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 `fias` \u0438 `django_select2` \u0432 \u0432\u0430\u0448 \u0441\u043f\u0438\u0441\u043e\u043a `INSTALLED_APPS`.\n3. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 `url(r'^fias/', include('fias.urls', namespace='fias')),` \u0432 \u0432\u0430\u0448 urlpatterns\n4. \u041b\u044e\u0431\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a \u0430\u0434\u043c\u0438\u043d\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0435 FiasAddress \u0441\u0432\u0435\u0436\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e jQuery::\n\n # \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a:\n class ItemAdmin(admin.ModelAdmin):\n class Media:\n js = ['//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.js']\n admin.site.register(Item, ItemAdmin)\n\n5. \u0415\u0441\u043b\u0438 \u0432\u044b \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0411\u0414 \u043f\u043e\u0434 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435\n\n* \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0411\u0414 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0435\u0451 \u043a \u0414\u0436\u0430\u043d\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c\n* \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u0432\u0430\u0448 `settings.py` \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440::\n\n FIAS_DATABASE_ALIAS = 'fias'\n\n\u0433\u0434\u0435 `fias` - \u0438\u043c\u044f \u0411\u0414\n\n* \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a `DATABASE_ROUTERS`::\n\n fias.routers.FIASRouter\n\n* \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n # \u0434\u043b\u044f South\n python manage.py migrate --database=fias\n # \u0431\u0435\u0437 South\n python manage.py syncdb --database=fias\n\u0433\u0434\u0435 `fias` - \u0438\u043c\u044f \u0411\u0414 \u0424\u0418\u0410\u0421\n\n5. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n # \u0434\u043b\u044f South\n python manage.py migrate\n # \u0431\u0435\u0437 South\n python manage.py syncdb\n\n6. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n python manage.py collectstatic\n\n\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 0.3\n========================\n\n\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 South.\n\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n # \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0411\u0414\n python manage.py migrate\n # \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0411\u0414\n python manage.py migrate --database=fias\n\u0433\u0434\u0435 `fias` - \u0438\u043c\u044f \u0411\u0414 \u0424\u0418\u0410\u0421\n\n\n\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 0.4\n========================\n\n\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 South.\n\n\u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 MySQL, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n # \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0411\u0414\n python manage.py migrate fias 0004 --fake\n python manage.py migrate fias\n # \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0411\u0414\n python manage.py migrate fias 0004 --fake --database=fias\n python manage.py migrate fias --database=fias\n\n\u0418\u043d\u0430\u0447\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n # \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0411\u0414\n python manage.py migrate\n # \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0411\u0414\n python manage.py migrate --database=fias\n \n\u0417\u0430\u0442\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0434\u043b\u044f Sphinx, \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0438\u0436\u0435, \u0438 \u043f\u0435\u0440\u0435\u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u0443.\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430\n================================\nAddressField \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 2 \u043c\u0435\u0442\u043e\u0434\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430: \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 (sequence) \u0438 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 (sphinx).\n\n**NOTE**: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e 2 \u0421\u0423\u0411\u0414: PostgreSQL \u0438 MySQL.\n**NOTE2**: \u0434\u043b\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0438 \u0431\u0430\u0437\u044b \u0432 MySQL \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e 2-2.5\u0413\u0411 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 MySQL.\n**NOTE3**: \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0447\u0430\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0431\u0430\u0437\u044b \u0424\u0418\u0410\u0421. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u044b.\n\n\u041f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434, \u0442. \u043a. \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a.\n\u0414\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0448\u0430\u0433\u043e\u0432:\n\n1. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u0432\u0430\u0448 `settings.py` \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440::\n\n FIAS_SEARCH_ENGINE='sphinx'\n\n2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435:\n\n* `sphinxit `_\n* `Sphinx Search Engine `_ \u0414\u043b\u044f Debian, Ubuntu, RHEL, Windows \u0435\u0441\u0442\u044c `\u043f\u0430\u043a\u0435\u0442\u044b `_\n\n\n3. \u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e `sphinx`:\n\n\u0415\u0441\u043b\u0438 \u0443 \u0432\u044b \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 `sphinx` \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0444\u0438\u0433 \u0438\u043d\u0434\u0435\u043a\u0441\u0430. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n python manage.py fias_sphinx --path=PATH > sphinx.conf\n\n\u0433\u0434\u0435 `PATH` - \u043f\u0443\u0442\u044c \u0434\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 sphinx.\n\n\u0418\u043d\u0430\u0447\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n python manage.py fias_sphinx --path=PATH --full > sphinx.conf\n\n\u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 sphinx.\n\n\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433 sphinx \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 (\u0434\u043b\u044f **Gentoo** \u044d\u0442\u043e \u0444\u0430\u0439\u043b `/etc/sphinx/sphinx.conf`, \u0434\u043b\u044f **Ubuntu**: `/etc/sphinxsearch/sphinx.conf`)\n\n4. \u041f\u0441\u043e\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 **\u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b** \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n indexer -c /etc/sphinx/sphinx.conf --all\n\n*NOTE*: \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u043c Sphinx \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c::\n\n indexer -c /etc/sphinx/sphinx.conf --all --rotate\n\n5. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 sphinx::\n\n # \u0434\u043b\u044f Gentoo\n /etc/init.d/searchd start\n # \u0434\u043b\u044f Ubuntu\n /etc/init.d/sphinxsearch start\n\n**NOTE** \u0415\u0441\u043b\u0438 Sphinx \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0445\u043e\u0441\u0442\u0435 \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u0440\u0442\u0443, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 `settings.py` \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438::\n\n FIAS_SEARCHD_CONNECTION = {\n 'host': '127.0.0.1',\n 'port': 9306,\n }\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0435\u0441\u043e\u0432\n===============\n\u0418\u0437-\u0437\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0411\u0414 \u0424\u0418\u0410\u0421, \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b.\n\u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 0.4 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u0435\u0441\u0430 \u0442\u0438\u043f\u043e\u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044e.\n\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 `settings.py` \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044c `FIAS_SB_WEIGHTS` \u0432\u0438\u0434\u0430::\n\n FIAS_SB_WEIGHTS = {\n # \u0421\u041e\u041a\u0420\u0410\u0429\u0415\u041d\u0418\u0415: \u0412\u0415\u0421\n '\u0433': 128,\n '\u0441': 100,\n }\n \n\u0433\u0434\u0435 \n * \u0421\u041e\u041a\u0420\u0410\u0429\u0415\u041d\u0418\u0415 - \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b SocrBase\n * \u0412\u0415\u0421 - \u0447\u0438\u0441\u043b\u043e \u043e\u0442 0 \u0434\u043e 128\n \n*NOTE*: \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u0435\u0441 \u0432\u0441\u0435\u0445 \u0442\u0438\u043f\u043e\u0432 \u0440\u0430\u0432\u0435\u043d 64\n*NOTE*: \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 weights.py - \u0442\u0430\u043c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0441\u0430.\n\n\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n python manage.py fias --fill-weights\n \n\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0435\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Django.\n\u041d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 **\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b** \u043f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b!\n\u041f\u043e\u0441\u043b\u0435 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u0443.\n \n\u0412\u044b\u0431\u043e\u0440 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\n==========================\n\n\u0422\u0430\u0431\u043b\u0438\u0446\u044b NORMDOC, SOCRBASE \u0438 ADDROBJ \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430. \u0422\u0430\u0431\u043b\u0438\u0446\u044b LANDMARK, HOUSEINT \u0438 HOUSE \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c.\n\n\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u0432\u0430\u0448 `settings.py` \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0442\u0430\u0431\u043b\u0438\u0446, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c::\n\n FIAS_TABLES = ('landmark', 'houseint', 'house')\n\n\n\u0418\u043c\u043f\u043e\u0440\u0442 \u0434\u0430\u043d\u043d\u044b\u0445\n==============\n\n\u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\n------------------------------\n\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0411\u0414 \u0424\u0418\u0410\u0421\n\n\u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043c\u043f\u043e\u0440\u0442 \u0441 \u0441\u0430\u0439\u0442\u0430 \u0424\u0418\u0410\u0421::\n\n python manage.py fias --remote-file\n\n\u0422\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u0435\u043d \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u0443\u0447\u0448\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0435\u0433\u043e::\n\n python manage.py fias --file /path/to/fias_xml.rar\n\n**\u041d\u043e!**\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432 \u0411\u0414 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0434\u0430\u0441\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443.\n\u0422\u0430\u043a\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430, \u0435\u0441\u043b\u0438 \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432 \u0411\u0414 \u0424\u0418\u0410\u0421,\n\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u043c\u0438, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c\nORM Django \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0443\u0434\u0430\u043b\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0430\u043a \u0436\u0435 \u0438 \u043e\u0442\u0442\u0443\u0434\u0430.\n\u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0435, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0444\u043b\u0430\u0433 *--really-replace*::\n\n python manage.py fias --file /path/to/fias_xml.rar --really-replace\n # or\n python manage.py fias --remote-file --really-replace\n\n\u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u0411\u0414 \u0424\u0418\u0410\u0421 \u0437\u0430\u043d\u043e\u0432\u043e, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0444\u043b\u0430\u0433 *--force-replace*::\n\n python manage.py fias --file /path/to/fias_xml.rar --force-replace --really-replace\n # or\n python manage.py fias --remote-file --force-replace --really-replace\n\n\u0415\u0441\u043b\u0438 \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0444\u043b\u0430\u0433 *--update* - \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u0411\u0414 \u0434\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.::\n\n python manage.py fias --file /path/to/fias_xml.rar --update\n # or\n python manage.py fias --remote-file --update\n \n**NOTE**\n\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438. \u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c, \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u0431 \u044d\u0442\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435.\n\u0417\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u043d\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f.\n\n\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0411\u0414\n--------------------------\n\u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0411\u0414 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435::\n\n python manage.py fias --update\n\n\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0441\u0430\u0439\u0442\u0430 \u0424\u0418\u0410\u0421. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u043d\u0435\u043b\u044c\u0437\u044f.\n\n**NOTE**\n\u041a\u0430\u043a \u044d\u0442\u043e \u043d\u0438 \u043f\u0435\u0447\u0430\u043b\u044c\u043d\u043e, \u043d\u043e \u043c\u044b \u0436\u0438\u0432\u0451\u043c \u0432 \u0420\u043e\u0441\u0441\u0438\u0438. \u0422\u0443\u0442 \u0432\u0441\u044f\u043a\u043e\u0435 \u0431\u044b\u0432\u0430\u0435\u0442. \u0412\u043e\u0442 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u0424\u0418\u0410\u0421 \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u043e\u0434\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0431\u0438\u0442\u044b\u0435 \u0434\u0435\u043b\u044c\u0442\u0430-\u0430\u0440\u0445\u0438\u0432\u044b.\n\u0427\u0442\u043e\u0431\u044b \u043e\u043d\u044b\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0444\u043b\u0430\u0433 *--skip* \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 *--update*\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n==============\n\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0411\u0414 \u0444\u0438\u0430\u0441.\n\n\u0412\u044b \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0432\u043e\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u043b\u0435 `fias.fields.address.AddressField`, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u0439\n\u043f\u043e\u0438\u0441\u043a \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e \u0431\u0430\u0437\u0435 \u0438 \u043f\u0440\u044f\u0432\u044f\u0437\u043a\u0443 \u041e\u0434\u0438\u043d-\u043a\u043e-\u041c\u043d\u043e\u0433\u0438\u043c \u0432\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0435 `AddrObj` \u0431\u0430\u0437\u044b \u0424\u0418\u0410\u0421. (\u0441\u043c. \u043c\u043e\u0434\u0435\u043b\u044c `Item` \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438)\n\n\u041b\u0438\u0431\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438\u0437 `fias.models.address`, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0431\u0430\u0432\u044f\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445\n\u043f\u043e\u043b\u0435\u0439 \u043a \u0432\u0430\u0448\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442 \u0437\u0430 \u0432\u0430\u0441 \u043a\u043e\u0435-\u043a\u0430\u043a\u0443\u044e \u0440\u0443\u0442\u0438\u043d\u0443:\n\n**FIASAddress** (\u0441\u043c. \u043c\u043e\u0434\u0435\u043b\u044c `CachedAddress` \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438)\n\n\u041f\u043e\u043c\u0438\u043c\u043e \u043f\u043e\u043b\u044f `address` \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0449\u0435 \u0434\u0432\u0430: `full_address` \u0438 `short_address`. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0430\u0434\u0440\u0435\u0441\u0430 (\u043d\u043e \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u0430), \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c - \u0443\u043a\u043e\u0440\u043e\u0447\u0435\u043d\u043d\u0430\u044f.\n\n**FIASAddressWithArea** (\u0441\u043c. \u043c\u043e\u0434\u0435\u043b\u044c `CachedAddressWithArea` \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438)\n\n\u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0449\u0435 \u043f\u043e\u043b\u0435 `area` - \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0439\u043e\u043d \u0433\u043e\u0440\u043e\u0434\u0430, \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u043e\u043b\u0435 `address` (\u0435\u0441\u043b\u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0430\u043a\u043e\u0432\u044b\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0432 \u0411\u0414 \u0424\u0418\u0410\u0421 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0433\u043e\u0440\u043e\u0434\u0430)\n\n**FIASHouse** (\u0441\u043c. \u043c\u043e\u0434\u0435\u043b\u044c `CachedAddressWithHouse` \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438)\n\n\u041c\u0438\u043a\u0441\u0438\u043d, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 3 \u043f\u043e\u043b\u044f `house`, `corps` \u0438 `apartment` - \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u043c\u0430, \u043a\u043e\u0440\u043f\u0443\u0441 \u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430.\n\n**FIASFullAddress**\n\n\u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 `FIASAddress` \u0438 `FIASHouse`.\n\n**FIASFullAddressWithArea**\n\n\u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 `FIASAddressWithArea` \u0438 `FIASHouse`\n\n*NOTE*: \u0432 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 `FIASFullAddress` \u0438 `FIASFullAddressWithArea` \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043c\u0435\u0442\u043e\u0434\u044b `_get_full_address` \u0438 `_get_short_address`, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u043d\u0443\u044e \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0430\u0434\u0440\u0435\u0441\u0430, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u043c\u0430/\u043a\u043e\u0440\u043f\u0443\u0441\u0430/\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.\n\n\nTODO\n==============\n\n* \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0441\u043f\u0438\u0441\u043a\u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 AddrObj \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438\n\n\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b\n====================\n* \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0411\u0414 \u043f\u043e\u0434 \u0434\u0430\u043d\u043d\u044b\u0435 \u0424\u0418\u0410\u0421, \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a `list_display` \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u043b\u044f \u0442\u0438\u043f\u0430 `ForeignKey`\n* South \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0411\u0414\n\n\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438\n====================\n\n`\u041a\u043e\u043c\u043c\u0438\u0442 \u043e\u0442 EagerBeager `_\n\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043c\u0438\u0442\u0443 \u0434\u043e \u043c\u0435\u043d\u044f \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u0434\u043e\u0448\u043b\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u043f\u043e\u0440\u0442 \u043e\u0442\u0436\u0438\u0440\u0430\u043b \u043f\u0430\u043c\u044f\u0442\u044c.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ailove-dev/django-fias", "keywords": null, "license": "MIT license", "maintainer": null, "maintainer_email": null, "name": "ailove-django-fias", "package_url": "https://pypi.org/project/ailove-django-fias/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ailove-django-fias/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ailove-dev/django-fias" }, "release_url": "https://pypi.org/project/ailove-django-fias/0.5.2/", "requires_dist": null, "requires_python": null, "summary": "FIAS Django integration (fork Ailove)", "version": "0.5.2" }, "last_serial": 2123657, "releases": { "0.5.1": [ { "comment_text": "", "digests": { "md5": "6c7117b01e841bc7f5c1b64d9fa68743", "sha256": "4ae4e7e2f994009e118211577c59077b0c82ecc1f7843643d4d22764b1303ac3" }, "downloads": -1, "filename": "ailove-django-fias-0.5.1.tar.gz", "has_sig": false, "md5_digest": "6c7117b01e841bc7f5c1b64d9fa68743", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36297, "upload_time": "2015-06-24T07:48:29", "url": "https://files.pythonhosted.org/packages/4c/5a/4939c0580253a6971650944a887ccf7eefcda3e176621f7b86324cc45c66/ailove-django-fias-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "b9e7ac31aa7d86340ea58decc7b70a8b", "sha256": "73bf0dc4fc10a9c22af0c9c54501560d54abc61f9210be13d42cfc5349d85819" }, "downloads": -1, "filename": "ailove-django-fias-0.5.2.tar.gz", "has_sig": false, "md5_digest": "b9e7ac31aa7d86340ea58decc7b70a8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40826, "upload_time": "2016-05-19T14:45:25", "url": "https://files.pythonhosted.org/packages/c3/e2/b76c6da07718e7a05fdda2e9a88e849d997019c2a90de598f9b882a1cf97/ailove-django-fias-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9e7ac31aa7d86340ea58decc7b70a8b", "sha256": "73bf0dc4fc10a9c22af0c9c54501560d54abc61f9210be13d42cfc5349d85819" }, "downloads": -1, "filename": "ailove-django-fias-0.5.2.tar.gz", "has_sig": false, "md5_digest": "b9e7ac31aa7d86340ea58decc7b70a8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40826, "upload_time": "2016-05-19T14:45:25", "url": "https://files.pythonhosted.org/packages/c3/e2/b76c6da07718e7a05fdda2e9a88e849d997019c2a90de598f9b882a1cf97/ailove-django-fias-0.5.2.tar.gz" } ] }