Задать вопрос
  • Как настроить Apache для запуска Джанго проекта?

    @nurzhannogerbek Автор вопроса
    sim3x: Я понимаю, что обычно Джанго не идет в такой связке. Я бы и сам был бы рад попробовать, что-то другое, но к сожаленью такая вот задача =( Это учебный проект и была поставлена задача... что вы думаете на счет настроек mog_wsgi, которые я описал?!
  • Как подключить MySQL c Django?

    @nurzhannogerbek Автор вопроса
    Я бы с радостью попробовал PostgreSQL, но мой научный руководитель требует использовать MySQL. Это у меня учебный проект. К слову я нашел проблему. Все из-за моей невнимательности. Прошу прощения. У меня изначално была связка Django + MS SQL SERVER и остались кое какие файлы в папках migrations в апках. Я удалил их и на чистую БД попробовал сного сделать миграцию. Заработало.

    Я вижу, что вы очень опытны, поэтому хотел бы у вас спросить. Знаю, что вопрос уже не в рамках этого поста, но всеже. Трудно ли запустить Django проект на Apache? Что нужно знать и с чего посоветовали бы начать?
  • Как вывести список активностей по связанным моделям данных?

    @nurzhannogerbek Автор вопроса
    Евгений: Понимаю вас. Простите и спасибо в любом случаи, что уделили время. Да, вы правы не хватает опыты =(
  • Как вывести список активностей по связанным моделям данных?

    @nurzhannogerbek Автор вопроса
    Евгений: Да я с вами полностью согласен. Да, это учебный проект. Я прочитал документацию, и честно признаться очень размыто все написано без примеров. Есть 4 основных компонента вокруг которых и нужно работать: Actor, Verb, Action Object, Target. К тому же текущая версия не поддерживает Django 1.10, пришлось исправлять проблемы в ручную в пакете. В итоге установить программу и запустил команду migrate. Я начал зарегистрировав модель таким вот образом, но как создать Activity и вывести его не понял. Можете подсказать пожалуйста? Сломал голову: Generate Actions. Простите пожалуйста, если достал вас задавая порой глупые вопросы)))

    from actstream import registry
    
    class Characterictic(models.Model):
        ...
    
    registry.register(Characterictic)


    Получается нужно установить подобную запись, в форме где создается Характеристика, чтобы записать активность создания записи? Я верно все понял?
    def my_handler(sender, instance, created, **kwargs):
        action.send(instance, verb='was saved')
    
    post_save.connect(my_handler, sender=Сharacterictic)
  • Как вывести список активностей по связанным моделям данных?

    @nurzhannogerbek Автор вопроса
    Евгений: Cпокойной ночи вам в таком случаи =) Можете завтра взглянуть еще раз пожалуйста. Вроде можно по отдельности сделать список активности для каждой модели (для характериситики отдельно, для задачи отдельно), а как потом быть смутно понимаю...
  • Как вывести список активностей по связанным моделям данных?

    @nurzhannogerbek Автор вопроса
    Евгений: У меня небольшой проект на самом деле. Да и большого опыта у меня есть и еще зеленый во многом. Я бы и создал велосипед, но не знаю с чего начать. Нужно фиксировать активность в моделях, которые упоминал в посте (изменения записей, добавление комментария к записям). Нашел подобный проект. Можете с вашей профессиональной точки зрения сказать подойдет ли данный проект для моих нужд?
  • Как вывести список активностей по связанным моделям данных?

    @nurzhannogerbek Автор вопроса
    Cпасибо за ссылку. А какой именно проект из перечисленных вы бы порекомендовали? С каким вам самому доводилось работать?
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: Честно признаться запутался. Что, куда, зачем... Думаю будет правильнее задать отдельный вопрос в тостере так как последний вопрос уже выходит за рамки текущего вопроса.

    Спасибо вам большое за помощь!
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: Я пытался протестировать вами предложенный код, но вызывает ошибку запись: self.characteristics.order_by('-updated_time').first(). Из ошибки можно понять, что нет такого атрибута.

    Можете пояснить ваш код пожалуйста? Я так понимаю event_objects собирает самые последние отредактированные записи из каждого раздела раздела. Затем в if event_objects: проверяются уже между собой те записи из разных разделов? А как учитывать комментарии добавляемые к записям? Сравнивать время комментария с временим редактирования.

    Ошибка:
    AttributeError: 'Project' object has no attribute 'usercharacteristic'.
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: Если честно вы описали очень размыто))) Можете пожалуйста раскрыть вашу мысль более детальнее?!
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: СПАСИБО ВАМ БОЛЬШОЕ!!! Заработало. Убрал max как вы и советовали из created. Ваш ответ отмечу как верным. Спасибо вам еще раз!

    Можно еще один вопрос задать по такой же тематике сортировки. Вывелся список проектов. Детали проекта пользователь может посмотреть открыв модальное окно через специальную кнопку. Пытаюсь вывести список топ-10 последней активностей в конкретном проекте используя вами предложенный самый первый вариант, но не знаю как указать в какой именно запись была активность. Например: В проекте А в разделе характеристик к записе такой-то (название характеристики) был добавлен комментарий в это время. В проекте А в раздели задачи была изменена задача такая-то (тут может быть id задачи) и время изменения.

    Просто хочется узнать как бы вы это реализовали?
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: Я вас не совсем понял. Можете показать пожалуйста, где именно нужно заменить? Я в order_by лишь добавил код указанный в последнем комментарии и опустил ваш код, чтобы не делать комментарий массивным. А так в order_by есть commented и reviewed.
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: Только дошли руки протестировать данный ваш код. Cпасибо большое за помощь! Он работает верно. Правда есть маленькая проблемка. У меня такой случай, что есть проекты, но они скажем так пустые. Нет объектов characteristic и task в них. Эти проекты не выводятся на страницу. Я так полагаю нужно сделать 3-им критериям сортировки по поле create_time (дата создания проекта) самого проекта. Как добавить данный 3-тий критерий? Я пробовал добавить следующее, но выводило ошибку:

    def order_by(p):
            created = max(
                p.project_created
            )if(
                p.project_created
            )else project.project_created
    
            if created is not None:
                return created
    
    projects_annotated = list(filter(
        lambda p: ***первый и вторые критерии***, p.project_created,
        Project.objects.annotate(
            ****
            project_created = Max('creation_date')  <-- Третий последний критерий
        )
    ))


    ERROR:
    Traceback (most recent call last):
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\exception.py", line 39, in inner
        response = get_response(request)
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\base.py", line 187, in _get_response
        response = self.process_exception_by_middleware(e, request)
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\base.py", line 185, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\el_pagination\decorators.py", line 88, in decorated
        return view(request, *args, **kwargs)
      File "C:\Users\Nurzhan\PycharmProjects\RMS\RMS\views.py", line 56, in home
        reverse=True
      File "C:\Users\Nurzhan\PycharmProjects\RMS\RMS\views.py", line 36, in order_by
        p.project_created
    TypeError: 'datetime.datetime' object is not iterable
    [31/May/2017 19:50:25] "GET /ru/ HTTP/1.1" 500 79848
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Anatoly Scherbakov: Вы совершенно правильно упоминали. В разделах проекта может и не быть комментариев. В таком случаи нужно сортировать по полю revision_date (дата последнего обновления записи) моделей Characteristic и Task. Другими словами приоритетным при сортировки является дата создания комментария, затем дата последнего обновления. Что вы можете посоветовать в таком случаи?
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Протестировал ваш код. Выдает следующую ошибку в коде latest_comments. Подскажите пожалуйста, что не так?

    ERROR:
    Traceback (most recent call last):
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\exception.py", line 39, in inner
        response = get_response(request)
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\base.py", line 187, in _get_response
        response = self.process_exception_by_middleware(e, request)
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\base.py", line 185, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "C:\Users\Nurzhan\AppData\Local\Programs\Python\Python35\lib\site-packages\el_pagination\decorators.py", line 88, in decorated
        return view(request, *args, **kwargs)
      File "C:\Users\Nurzhan\PycharmProjects\RMS\RMS\views.py", line 21, in home
        for project_code, characteristic_time, task_time in latest_comments_by_section
      File "C:\Users\Nurzhan\PycharmProjects\RMS\RMS\views.py", line 21, in <listcomp>
        for project_code, characteristic_time, task_time in latest_comments_by_section
    TypeError: unorderable types: NoneType() > NoneType()


    Ваш код с мелкими изменениями:
    views.py:
    import operator
        from django.db.models import Max
         
        latest_comments_by_section = Project.objects.values_list('code').annotate(
            Max('characteristic__comments__created'),
            Max('task__comments__created'),
        )
    
        latest_comments = [
            (project_code, max(characteristic_time, task_time))
            for project_code, characteristic_time, task_time in latest_comments_by_section
        ]
    
        projects = [
            Project.objects.get(code=project_code, status='open')
            for project_code, _ in sorted(latest_comments, key=operator.itemgetter(1), reverse=True)
        ]


    В качестве первичного ключа я везде в моделях использую подобное поле:
    code = models.UUIDField(_('Code'), primary_key=True, default=uuid.uuid4, editable=False)
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Евгений: Понятно. Понимаю вас. Если будет время для более детального изучения моего вопроса пожалуйста взгляните. =)
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    un1t: Здравствуйте! В модели Сharacterictic есть полеcomments = models.ManyToManyField("Comment"). Использования именно такого подхода к хранению комментариев с использованием ManyToManyField, обусловлено потребностями другой задачи, которую он решает. Есть ли у вас другие идеи по данному вопросу?)
  • Как отсортировать записи модели данных на основе данных других связанных моделей?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! Да, вы правы. У меня есть страница где вывожу статистику и стоит задача, которую описал в посте.

    Можете пояснить куда нужно помещать данный код? Во view я так понимаю. Можете вкратце пояснить ваш код и почему данный код лучше использовать если проектов немного. Много и мало понятия растяжимые, поэтому данный ваш комментарий смутил))) Ваши опасения я прекрасно понимаю. Если много проектов, на итерации будут уходить много времени. На текущий момент проектов немного (10-15), но если глядеть в будущее то их может быть и много.

    Насколько я понял latest_comments_by_category хранит время последнего комментария по раздели так скажем. А latest_comments уже сравнивает то время, полученное ранее между собой и получаем список отсортированного времени комментариев. Далее в projects получаем список отсортированных проектов по списку latest_comments. Я правильно все понял?
  • Пагинация с AJAX в Django?

    @nurzhannogerbek Автор вопроса
    Павел Аксенов: Cпасибо большое вам! По вашему совету создал две view и две url для каждого блока и использовал вышеупомянутую запись. Заработало =)
  • Пагинация с AJAX в Django?

    @nurzhannogerbek Автор вопроса
    Павел Аксенов: Я вас вроде понял в целом, а как Django будет понимать какую вьюху открыть и как подобная вьюха должна выглядеть?

    Вот такая ссылка генерируется в пагинации к примеру:
    <a href="/ru/?page=2" data-el-querystring-key="page" class="endless_page_link">&gt;</a>