Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 29, 2015 09:17:49

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

применение factory

помогите пожалуйста советом, подскажите что почитать по теме и по каким словам гуглить

есть модель, которой в БД соответствует табличка. задача в том чтобы её заполнить до того как приложение начнёт работать. это можно было бы сделать при помощи fixtures, но мне хотелось бы использовать шаблон проектирования Фабрика(или другой подходящий)

возможно ли вообще такое? если да, то в каком месте должен происходить вызов? то есть есть ли в джанге такие функции-инициализаторы, которые выполняются до начала работы приложения?

Офлайн

#2 Ноя. 29, 2015 09:54:36

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

применение factory

Разумеется, что у вас ничего не получится сделать до начала, потому что до начала еще не существует никаких классов моделей. Попробуйте вызвать свою функцию последней строкой urls.py или settings.py. Или поместить её в __init__.py модуля models. Только вы должны понимать, что в нормальном режиме работы веб-сервер запускает несколько экземпляров джанги, и ваша функция выполнится несколько раз.



Офлайн

#3 Ноя. 29, 2015 10:33:51

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

применение factory

FishHook
Разумеется, что у вас ничего не получится сделать до начала, потому что до начала еще не существует никаких классов моделей. Попробуйте вызвать свою функцию последней строкой urls.py или settings.py. Или поместить её в __init__.py модуля models. Только вы должны понимать, что в нормальном режиме работы веб-сервер запускает несколько экземпляров джанги, и ваша функция выполнится несколько раз.
а возможно тогда вообще не использовать models.py, а прописать где-нибудь класс и с него делать объекты и генерить табличку для БД?

ps:
только не спрашивайте зачем мне это нужно

Офлайн

#4 Ноя. 29, 2015 10:47:27

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

применение factory

Может вам джангу лучше не использовать?
>>>только не спрашивайте зачем мне это нужно
именно спрошу, пока вы не объясните суть телодвижений, нормального решения мы не найдем.



Офлайн

#5 Ноя. 29, 2015 11:26:43

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

применение factory

FishHook
Может вам джангу лучше не использовать?>>>только не спрашивайте зачем мне это нужноименно спрошу, пока вы не объясните суть телодвижений, нормального решения мы не найдем.
работодатель выдал тестовое задание. сказал, что суть не в том чтобы решить задачу, а в том, чтобы по максимуму применять шаблоны проектирования. при этом обязательно нужно использовать любой mvc-фреймворк. я выбрал django

задание, грубо говоря, в том, чтобы создать табличку с возможностью фильтрации и сортировки

Отредактировано zlodiak (Ноя. 29, 2015 11:31:23)

Офлайн

#6 Ноя. 29, 2015 11:33:32

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

применение factory

Ну и сделайте это в models.py, там же где определяете обычные модели. Одна из моделей будет результатом работы фабрики.
>>>задание, грубо говоря, в том, чтобы создать табличку с возможностью фильтрации и сортировки
В задании, я так понял, ничего подобного нет, это ваше самостоятельное изобретение.



Офлайн

#7 Ноя. 29, 2015 11:36:38

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

применение factory

FishHook
Ну и сделайте это в models.py, там же где определяете обычные модели. Одна из моделей будет результатом работы фабрики. >>>задание, грубо говоря, в том, чтобы создать табличку с возможностью фильтрации и сортировкиВ задании, я так понял, ничего подобного нет, это ваше самостоятельное изобретение.

да, самостоятельное. я пока не представляю как решать задачу, но чувствую, что как минимум надо её разбить на три: генерация данных, вывод на экран, навешивание ajax-виджетов, которые будут менять данные(пинать соответствующие контроллеры)

пока решаю первую. собственно, стандартными способами давно бы уже решил задачу. но это будет не то

Офлайн

#8 Ноя. 29, 2015 11:54:32

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

применение factory

zlodiak,
зачем вы все это выдумываете?
Думаете работодатель обрадуется, когда вы ему покажите, что с радостью занимаетесь глупостями?
Вам сказали, используйте паттерны, ну так используйте. Сделайте свою фабрику форм, интерфейсы для своих вьюх, придумайте декораторы какие-нибудь, абстрактные классы. Не надо вам лезть в данные, вас об этом не просили.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version