Найти - Пользователи
Полная версия: применение factory
Начало » Django » применение factory
1
zlodiak
помогите пожалуйста советом, подскажите что почитать по теме и по каким словам гуглить

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

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

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

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

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

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

пока решаю первую. собственно, стандартными способами давно бы уже решил задачу. но это будет не то
FishHook
zlodiak,
зачем вы все это выдумываете?
Думаете работодатель обрадуется, когда вы ему покажите, что с радостью занимаетесь глупостями?
Вам сказали, используйте паттерны, ну так используйте. Сделайте свою фабрику форм, интерфейсы для своих вьюх, придумайте декораторы какие-нибудь, абстрактные классы. Не надо вам лезть в данные, вас об этом не просили.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB