• Выборка данных из базы. QuerySet?

    winordie
    @winordie
    Лучшая документация -- исходники
    Если все правильно помню:
    class Peoples(models.Model):
      subpodr = ForeignKey(Subpodr)
      date = models.DateField(default=datetime.datetime.today())
      rab = models.IntegerField(default = 0)
      class Meta:
        unique_together = ('subpodr', 'date')

    peoples_for_main_page = Peoples.objects.values('subpodr__sobj', 'date', 'rab').annotate(
      num_peoples=Sum('rab')).order_by('date', 'subpodr__sobj')

    sobject = Sobject.objects.get(pk=current_sobject_pk)
    peoples_for_sobject_page = Peoples.objects.filter(subpodr__sobj=sobject).annotate(
      num_peoples=Sum('rab')).order_by('date', 'subpodr')
    Ответ написан
    1 комментарий
  • Какой лучший способ хранить верстку разных людей, но в одном месте?

    DemiKam
    @DemiKam
    Рекомендую почитать статью: eax.me/vcs-practice и эту статью: eax.me/git-commands Все доходчиво и понятно. Любой "git - репозиторий" лучше организовать на локальной машине и дать доступ кому необходимо
    Ответ написан
    Комментировать
  • Какие навыки/специальности стоит приобрести для открытия и развития своего бизнеса в it?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Как IT спец, имеющий свой бизнес - нихрена из ит тебе в бизнесе не надо, иногда даже сильно мешает. В бизнесе нужен человек который умеет подать и продать продукт. Все остальное - забота работников фирмы, если ты не сам себе фирма, но мы ведь не про фриланс говорим?
    Поясню - я имею огромное счастье что рядом со мной человек который имеет деловую жилку(в отличии от меня) и не сильно понимающий "что под капотом", зато понимающий насколько нужен человеку наш продукт и чувствующий сколько и за что тот готов платить. Вот это для бизнеса просто бесценно. А из навыков мне пригодился опыт настройки локалки и умение работать руками, полки/столы собирать - на начальном этапе многое приходилось самим делать ).
    Ответ написан
    Комментировать
  • Какой инструмент/CMS выбрать для создания аналога docdoc.ru, doc.ua?

    Soldata
    @Soldata
    Программист, владелец IT-компании.
    Уже не в первый раз убеждаюсь, что сайты сложнее сайта-визитки на CMS лучше не начинать. Да, старт и настройка быстрая, а потом начинается хождение по мукам - поиск плагинов, приделывание костылей, поскольку что-то менять в ядре себе дороже. В итоге получается трудноподдерживаемый монстр. А времени на все эти манипуляции уйдет не меньше, чем разработка на фреймворке. А потом поддержка когда, половина которого для вас, как китайская грамота.
    Ответ написан
    Комментировать
  • Как создать django проект под win10?

    svfat
    @svfat
    ☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
    Беглое гугление говорит о баге который проявляется при использовании 32bit python под 64bit Win10. Алексей, а как вам вариант поставить под виндой vagrant с образом убунты, и писать спокойно код в той системе, которая нравится, в редакторе, который нравится, не тратя время на исправление багов совместимости, параллельно пользуясь Autocad и MS Office. Под виндой могут возникать неожиданные баги не только в pip, но и в батарейках django, я сталкивался.
    Ответ написан
    3 комментария
  • Как автоматически инкрементировать значение в форме?

    @deliro
    Зачем вообще в meta.fields нужен term, если он инкременируется?

    user = form.save(commit=False)  # Получаем обновлённую модель юзера из формы.
    user.term += 1
    user.save()


    P.S. Используйте Class Based Views. Неужели, вам не жалко своё время?

    from django.views.generic import *
    
    class YourFormView(FormView):
        form_class = UserProfile
        template_name = 'path/to/your_template.html'
    
        def form_valid(self, form):  # Вызывается, если форма is_valid
            user = form.save(commit=False)
            user.term += 1
            user.save()
            return # Чего вы хотите вернуть (обычно это редирект)
    
        def form_invalid(self, form):
            # Что-то делаем, если форма невалидна. По-умолчанию, джанго возвращает
            # на ту же страницу и показывает ошибки в форме.


    Но ещё лучше переопределить метод save у формы и инкременировать term там.
    Ответ написан
    2 комментария
  • Подгрузка контента Django?

    zigen
    @zigen
    Я в проекте использовал Django-endless-pagination
    Легко настраивается и интегрируется во view.
    Подгружается по скроллу - как в твиттере. Там для этого есть твиттер стайл

    https://django-endless-pagination.readthedocs.org/...
    Ответ написан
    Комментировать
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

    Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), - снизу.

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

    Между слоем сервисов и слоем доступа к данным нарисуйте большой контур и назовите его слоем бизнес-логики. В маленьких прямоугольниках внутри этого контура перечислите основные бизнес-задачи. Один компонент Вашей системы будет решать одну бизнес-задачу.

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

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария
  • Как сделать ячейки таблицы одинаковыми по ширине?

    e_s_l
    @e_s_l
    Full-stack web developer
    table {
      table-layout: fixed;
      width: 100%;
    }
    td, th {
      width: 2%;
    }
    Ответ написан
    3 комментария