• Как создать карту, на которой можно выводить информацию о зданиях или выделять здания, подходящие по заданным критериям (теги OSM + свои)?

    Для вывода карты (слой OSM + ваши собственные векторные слои поверх него) можно использовать Leaflet. Очень удобная в работе вещь, есть много плагинов.

    Что касается поиска - думается, придётся писать отдельно. Можно использовать Backbone.js или другой фреймворк. Ну и это зависит от количества зданий - если их сколько-нибудь много, то стоит озаботиться хранением данных и поиском по ним в БД на сервере.
    Ответ написан
    Комментировать
  • MPTT tree копирование ветвей?

    Как я понимаю, проблема у вас в том, что вы перехватываете сохранение, когда parent уже изменён. Я бы делал это примерно так.

    class MyModel(models.Model):
        def __init__(self, *args, **kwargs):
            super(MyModel, self).__init__(*args, **kwargs)
            self._initial_parent = self.parent
    
        def save(self, *args, **kwargs):
            new_parent = self.parent
            if new_parent != self._initial_parent:
                # Marking old branch as obsolete
                self.descendants().update(is_deleted=True)
    
                # Now, creating a new branch (with new IDs) at the destination node
                root = MyModel.objects.create(parent=new_parent, ...)
                [MyModel.objects.create(...) ...]
    
                # And cancelling the moving of the current element
                self.parent = self._initial_parent
                self.is_deleted = True
    
            return super(MyModel, self).save(*args, **kwargs)
    Ответ написан
  • Дистанционное образование по направлению "Прикладная информатика". Что выбрать?

    Добавлю ещё один вариант, если он не попал в ваше поле зрения: fdo.tusur.ru. 080801 "Прикладная информатика в экономике" там есть.
    Ответ написан
    Комментировать
  • Как правильно ссылаться на связанные объекты в REST API?

    1. Почему 100 запросов? Положим, вы хотите спросить список всех заказов.

    GET /api/v1/orders/
    [{
        "id": 1,
        "created_time": "2016-04-29T19:37:03Z",
        "client": "client_ login",
        "employee": "jane"
    }, {
        "id": 2,
        "created_time": "2016-05-29T19:37:03Z",
        "client": "another_client",
        "employee": "john"
    }, ...]


    Непонятно кстати, у вас клиент, работник и юзер - это одно и то же или разные вещи? Зачем вы выводите в заказе user, если это свойство клиента, а не свойство заказа? Но суть одна: используется либо числовой, либо буквенный идентификатор для внешних сущностей.

    Теперь вы можете сделать запрос по нужному вам клиенту:

    GET /api/v1/clients/another_client/
    {
        "id": 1,
        "created_time": "2016-04-29T19:37:03Z",
        "full_name": "Vasya Pupkin",
        "user": "bububum"
    }


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

    GET /api/v1/orders/
    [{
        "id": 1,
        "created_time": "2016-04-29T19:37:03Z",
        "client": {
            "id": 2,
            "full_name": "Vasya Pupkin"
        },
        "employee": "jane"
    }, ...]


    Вообще, на самом деле, в RESTful API полагается вместо id сущностей писать их URL, но оставим за скобками. Сам обычно так не делаю...
    Ответ написан
  • Как правильно проверять запрошенный url в Django?

    - Что значит "проверять"?
    - Что представляет собой запрошенный объект и как вы его URL получаете?
    - Вы пользуетесь для этой задачи urls.py?
    Ответ написан
    Комментировать
  • Горизонтальный плиточный слайдер, есть такое?

    Это известно как эффект pinterest.

    Посмотрите на masonry.desandro.com - там много опций, может быть, вы подкрутив их получите то, что вам нужно.
    Ответ написан
    Комментировать
  • Как изучить язык приближенно к 100%?

    Почитайте статью В. Зуева "Редкая профессия". Узнаете, какой самый лучший способ полностью изучить язык: написать для него компилятор или интерпретатор.

    Внимание, вопрос: а зачем?
    Ответ написан
    1 комментарий
  • Какие таблицы могут быть связаны со стойкой регистрации в аэропорту?

    Ну глупое требование про 20 таблиц, конечно. Гулять так гулять :)

    1. Аэропорт
    - Название
    - Код ICAO

    2. Сотрудник
    - Аэропорт (FK)
    - ФИО
    - Должность

    (Я не в курсе, как работают сотрудники на стойках регистрации, но давайте предположим, что постоянно.)

    3. Стойка регистрации
    - Аэропорт
    - Сотрудник
    - Время работы
    - Тип
    - ...

    4. Модель самолёта
    - Название

    5. Авиакомпания
    - Название

    6. Рейс
    - Аэропорт вылета (FK)
    - Аэропорт назначения (FK)
    - Модель самолёта (FK)
    - Авиакомпания (FK)
    - Время вылета
    - Время прибытия
    - Длительность полёта (денормализовано слегка, чтоб каждый раз не считать)

    7. Пассажир
    - ФИО
    - Дата рождения
    - Паспортные данные

    8. Скидки
    - Название
    - Величина скидки в %

    9. Регистрация
    - Пассажир (FK)
    - Рейс (FK)
    - Стойка (FK)
    - Скидка (FK)
    - Номер места
    - Цена

    10. Багаж
    - Регистрация (FK)
    - Номер багажа
    - Масса
    - Стоимость

    На этом у меня вдохновение иссякло. Но вы можете раздуть это в разные направления:
    - Типы воздушных судов (самолёты, вертолёты)
    - Техническое обслуживание, занятые в нём техники
    - Расчёт зарплаты сотрудников аэропорта, в том числе регистраторов на стойках
    - Типы воздушных линий (местные, международные)
    - ...
    Ответ написан
  • Как вывести новости на страницу используя Django Template?

    По итогам обсуждения в комментариях к вопросу дать содержательный ответ не представляется возможным. Варианты:
    1) Займитесь Python и Django, разберитесь, как это всё работает.
    2) Найдите специалиста, который вам это сделает.
    Ответ написан
    Комментировать
  • Как указать в fields или fieldsets все поля?

    Это нельзя сделать встроенными методами, насколько я знаю. Можно переопределить метод Model.get_fieldsets, который будет получать из класса модели список всех полей и формировать то, что вам нужно, - но это на мой взгляд слишком извращённо.
    Ответ написан
    Комментировать
  • Как правильно хранить настройки в django проекте?

    your_project_root/your_project_name/settings/
    ├── base.py
    ├── development.py
    ├── __init__.py
    ├── local.py
    ├── production.py
    └── testing.py


    base.py - глобальные настройки
    testing.py - тестовый сервер
    production.py - рабочий сервер

    local.py игнорируется VCS и содержит ссылку на актуальный файл настроек + необходимые, скажем, данному конкретному разработчику коррективы, скажем доступ к его локальной СУБД:

    from .testing import *
    DATABASES = ...


    __init__.py:
    from .local import *

    И всё.
    Ответ написан
    Комментировать
  • Как уйти с распутья технологий?

    Вам нужно взять что-то одно и упорно заниматься этим, несмотря на всю связанную с процессом рутину, которая несомненно будет вас отпугивать.

    Я занимаюсь Python/Django, мы делаем веб-приложения. Если интересно пообщаться - напишите мне в Skype или на почту, в профиле есть контакты.
    Ответ написан
    4 комментария
  • Django Anonymous access?

    Есть два варианта.

    1. Раздать всем зарегистрированным пользователям специально созданный permission - например, Article.can_view, скажем, посредством добавления их всех в группу, и затем использовать permission_required.

    2. (Мне кажется, лучше) переопределить get_object во view приблизительно так:

    obj = super(FullView, self).get_object()
    if self.request.user.is_anonymous and obj.article_access:
        raise PermissionDenied
    else:
        return obj
    Ответ написан
    4 комментария
  • Как рассчитать габариты посылки?

    Очевидно, ответ будет зависеть от того, как именно вы будете их укладывать. Комбинаций не так уж много. Если параллелепипед A неподвижен в определённой системе координат с осями X, Y, Z, то существует несколько способов уложить B:
    - Сверху на A (выше по направлению оси Z)
    - Справа от A (по направлению оси X)
    - Впереди от A (по направлению оси Y)
    Такие варианты как снизу, слева, позади от A в смысле укладки в коробку никакой разницы не несут.
    Для каждого из трёх вариантов можно посчитать параллелепипед, описанный вокруг первых двух. Например, для первого случая имеем: max(A1, B1), max(A2, B2), sum(A3, B3).
    Из трёх комбинаций можно выбрать ту, где объём меньше всего, то бишь упаковка плотнее.
    Ответ написан
    Комментировать
  • Как хранить интервальное расписание в БД?

    1. Прежде всего, расписание можно задавать естественным языком, или хранить в JSON придумав какой-нибудь DSL, - вне зависимости от базы данных. Превосходная библиотека для этого: https://github.com/kvh/recurrent (хотя поддерживает только английский). Если вам нужно, например, делать рассылки, - вы пробегаете по всем активным расписаниям в цикле, проверяете, соответствует ли текущая дата расписанию, и выполняете действие.
    2. Если такую выборку делать хочется очень быстро и средствами БД, тогда при вводе вышеупомянутого высокоуровневого расписания можно заполнять все даты в некоем кэше (или в отдельной таблице в БД), выставляя флаг для пары (дата, id расписания). При изменении расписания эта матрица для него перевычисляется.
    3. Как быть с исключаемыми днями? Можно в каждом из объектов предлагать два поля: "Расписание" (например: every friday) и "Исключая" (например: 1 Jan - 10 Jan).
    Ответ написан
    Комментировать
  • Имеются ли в сети написанные программы для построения ассоциативных правил?

    Не уверен, что именно вы имеете в виду, так как с предметной областью (базы правил и их разрешение) только собираюсь познакомиться. Однако недавно наткнулся на нечто подобное: https://habrahabr.ru/post/280974/ (W!Mi) Может быть, это оно.

    Ещё есть полноразмерные системы бизнес-правил (Business Rule Management System) и есть небольшие библиотеки для их использования (на Python точно есть несколько разных, но названия не вспомню сходу).
    Ответ написан
    Комментировать
  • Какую программу для математического построения и анализа графиков использовать?

    geogebra.org имеет такую возможность, насколько я помню.
    Ответ написан
    Комментировать
  • Как предоставить права для группы?

    1. Где находится функция get_queryset? В классе модели?
    2. Про django-guardian - я не уверен, что вам он нужен. А эти задачи - действительно решаются посредством get_queryset, но в представлениях. Можно их наследовать от ListView, UpdateView, и переопределять get_queryset используя self.request.
    Ответ написан
  • Как при выгрузке определить ограничение по словарю?

    Код не идиоматичный. Непонятно, что делает вот это. full_house_list - это список слов или текстов?

    for house in house_list:
      full_house_list.remove(house)


    1. Я бы предположил, что вам надо входные тексты разбивать на слова прежде всего и затем находить пересечения множества разрешённых слов и множества запрещённых слов с текстом, соответственно. Но тогда оба множества должны все словоформы заключать в себе.
    2. Ну а вообще, в более продвинутой форме, вам понадобится движок для стемминга.
    Ответ написан
    Комментировать