{ "info": { "author": "kirill", "author_email": "kirillkostuykhin@me.com", "bugtrack_url": null, "classifiers": [], "description": "###\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n \r\n pip install git+https://skycker@bitbucket.org/dvebukvy/sensei2.git@master\r\n \r\n INSTALLED_APPS = (\r\n ...\r\n 'sensei2',\r\n ...\r\n )\r\n\r\n###\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\r\n\r\n\u0412 `settings.py` \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0432\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b `SENSEI_PLUGINS` and `SENSEI_RULES`\r\n\r\n\u041f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0435\u0442 \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u0438\u043b\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. \u0412\u0442\u043e\u0440\u0430\u044f - \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u0438 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0411\u0414.\r\n \r\n SENSEI_RULES = {\r\n 'topics': [\r\n # {'app': 'web_site', 'model': 'TopicCategory', 'total': 1, 'presave_callback': lambda fields, rule, obj: tro(obj)},\r\n {'app': 'web_site', 'model': 'TopicCategory', 'total': 1},\r\n {'app': 'web_site', 'model': 'Topic', 'total': 1, 'plugins': {'title': 'sensei2.plugins.pretty_title'}}\r\n ],\r\n 'builders': [\r\n {'app': 'web_site', 'model': 'Builder', 'total': 1,\r\n 'ignore': ['addresses', 'emails', 'web_sites', 'telephones']},\r\n {'app': 'web_site', 'model': 'BuildAnnounce', 'total': 1}\r\n ],\r\n 'houses': [\r\n {'app': 'web_site', 'model': 'HouseStatus', 'total': 1},\r\n {'app': 'web_site', 'model': 'House', 'total': 3, 'override': {\r\n 'coordinates': lambda obj, field, sensei: '{0},{1}'.format(round(sensei.get_random_float(), 5),\r\n round(sensei.get_random_float()), 5)}},\r\n # {'app': 'web_site', 'model': 'Stage', 'total': 50},\r\n # {'app': 'web_site', 'model': 'StageImage', 'total': 120}\r\n ],\r\n 'plans': [\r\n {'app': 'web_site', 'model': 'FlatPlan', 'total': 300, 'ignore': ['total_price', 'total_area']},\r\n {'app': 'web_site', 'model': 'FlatPlanParameter', 'total': 25},\r\n {'app': 'web_site', 'model': 'Flat', 'total': 500},\r\n ]\r\n }\r\n\r\n###\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\r\n\r\n\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u044b, \u0438\u043c\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0440\u0430\u0432\u0438\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c,\r\n\u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u043c\u0435\u043d\u0430\u0434\u0436\u043c\u0435\u043d\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u043e \u0432 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 `atomic` (\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0434\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0435\u0439), \r\n\u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0433\u0434\u0435-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u0442\u043e \u0432 \u0411\u0414 \u043d\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b\r\n \r\n ./manage.py fill \r\n\r\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432:\r\n \r\n SENSEI_PLUGINS = ['sensei2.plugins.pretty_title', 'sensei2.plugins.independent_pretty_tittle']\r\n\r\n### \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\r\n\r\n\u041f\u043e\u043b\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 http://wiki.dvebukvy.ru/page/42", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/dvebukvy/sensei2/", "keywords": null, "license": "DB", "maintainer": null, "maintainer_email": null, "name": "sensei2", "package_url": "https://pypi.org/project/sensei2/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sensei2/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/dvebukvy/sensei2/" }, "release_url": "https://pypi.org/project/sensei2/1.1.2/", "requires_dist": null, "requires_python": null, "summary": "A tool to fill your database with random, but logical data", "version": "1.1.2" }, "last_serial": 1809930, "releases": { "1.1.1": [], "1.1.2": [ { "comment_text": "", "digests": { "md5": "806a08587787a363bb278650d0979eff", "sha256": "be8025401022136987b23ab3cbf31bd0cd2bab5a0bd5c47c43ad3e2cea793ad6" }, "downloads": -1, "filename": "sensei2-1.1.2.tar.gz", "has_sig": false, "md5_digest": "806a08587787a363bb278650d0979eff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6622136, "upload_time": "2015-11-10T17:25:49", "url": "https://files.pythonhosted.org/packages/8a/f7/e2305c3c5c786c106ee89d101e27b4b28aa885bd28c3661e2ea98ba325c6/sensei2-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "806a08587787a363bb278650d0979eff", "sha256": "be8025401022136987b23ab3cbf31bd0cd2bab5a0bd5c47c43ad3e2cea793ad6" }, "downloads": -1, "filename": "sensei2-1.1.2.tar.gz", "has_sig": false, "md5_digest": "806a08587787a363bb278650d0979eff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6622136, "upload_time": "2015-11-10T17:25:49", "url": "https://files.pythonhosted.org/packages/8a/f7/e2305c3c5c786c106ee89d101e27b4b28aa885bd28c3661e2ea98ba325c6/sensei2-1.1.2.tar.gz" } ] }