nnmware
Дайте-ка угадаю. Это компания Смит продолжает всех терзать тестовым заданием третий год.Раньше они на фриланс.ру расписывали как им требуются “питонщики”, но достав весь СНГ, теперь они постят предложения работы на Odesk. Вы лучше не связывайтесь, а то будет как у меня, сначала они письмо потеряли, потом времени у крутых программеров Смита не было посмотреть, потом еще что-нибудь. А потом им не понравится что они тупят пару недель и теряют письма, и они заявят Вам что код, скопированный из джанго и соуса неопрятен.Господин Долбунов полностью оправдывает свою фамилию.А про динамические модели- ловите. https://github.com/nnmware/testworkМожет сделаете более опрятно и глядишь Ваше письмо не прое… потеряют ЗЫ. Не написал бы это, если бы не столкнулся с таким свинским неуважением к чужому времени и работе. “Письма теряются, времени нет, все говно а мы Дартаньяны”. ЗЫЗЫ: Касаемо изначальной темы топика- у Вас SQL не создается динамически, а в задании об этом была речь + требуется учитывать миграции, чтобы при изменении данных в yaml файле корректно добавлялись новые поля и удалялись ненужны.
День добрый. Не буду скрывать того, что имею отношение к компании smyt.
Не знаю, кто терял письма и смотрел код, но тот код, который Вы выложили здесь не соответствует заданию, написанному в теме, а именно:
2) Таблицы в бд надо создать стандартными средствами django (syncdb), для измененияПроверить очень легко. Достаточно склонировать код и добавить south в приложения:
необходимо использовать south (в консоли, если модели правильно созданы, то syncdb и
south их подхватывают);
$ python manage.py syncdb
Syncing…
Creating tables …
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log
Creating table south_migrationhistory
You just installed Django's auth system, which means you don't have any superusers defined.
….
$ python ./manage.py schemamigration –initial testwork
Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate testwork
$ cat testwork/migrations/0001_initial.py
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
pass
def backwards(self, orm):
pass
models = {
}
complete_apps =
От себя скажу, Вы зря опирались на http://dynamic-models.readthedocs.org/en/latest/ - можно все сделать гораздо проще, с меньшим количеством и с полноценной поддержкой sycndb и south. Так что не стоит себя в ключе недооцененного гения.
Всего доброго.