0

голосов
0

ответ
5

Просмотры

Группировка QuerySet по значению столбца

У меня есть QuerySet, возвращающие задачи по идентификатору клиента из следующих моделей и хотел бы получить еще несколько фильтров, чтобы получить более уточненные данные. Модели являются лишь примером структурой, что я пытаюсь достичь: класс Client (models.Model): Имя = models.CharField (max_length = 255) Защита __str __ (Я): возвращение класса self.name офис (models.Model): имя = models.CharField (max_length = 255) ClientID = models.ForeignKey (Клиент, db_constraint = False, db_index = False, on_delete = models.DO_NOTHING) Защита __str __ (Я): возвращение класс self.name Площади (models.Model): имя = models.CharField (max_length = 255) officeid = models.ForeignKey (Office, db_constraint = False, db_index = False, on_delete = models.DO_NOTHING) Защита __str __ (Я): возвращение self.name класс Task (models.Model): имя = модели. CharField (max_length = 255) Areaid = models.ForeignKey (площадь, db_constraint = False, db_index = False, on_delete = models.DO_NOTHING) Запрос, что я использую: Task.objects.filter (areaid__officeid__clientid = '1') возвращает длинный QuerySet, что мне нужно группе Areaid. Группировка Я имею в виду, например, получение списка нескольких querysets, которые содержат только задачи для одного Areaid. Есть ли возможность достичь этого Джанго ОРМ без зацикливания через QuerySet у меня уже есть? Мне это нужно, чтобы сделать различные таблицы в Jinja2, уникальную таблицу для каждого Areaid. Группировка Я имею в виду, например, получение списка нескольких querysets, которые содержат только задачи для одного Areaid. Есть ли возможность достичь этого Джанго ОРМ без зацикливания через QuerySet у меня уже есть? Мне это нужно, чтобы сделать различные таблицы в Jinja2, уникальную таблицу для каждого Areaid. Группировка Я имею в виду, например, получение списка нескольких querysets, которые содержат только задачи для одного Areaid. Есть ли возможность достичь этого Джанго ОРМ без зацикливания через QuerySet у меня уже есть? Мне это нужно, чтобы сделать различные таблицы в Jinja2, уникальную таблицу для каждого Areaid.
tookas92
1

голосов
1

ответ
37

Просмотры

How to access extended User attributes in django template

Я пытаюсь получить доступ к расширенной области модели пользователя в шаблоне Django, но он не работает, есть мои файлы: models.py: класс Автор (models.Model): пользователь = models.OneToOneField (Пользователь, related_name = «Пользователь» , on_delete = models.SET_NULL, нуль = True) био = models.TextField (max_length = 1400, help_text = "Введите биографию автора.") защиту __str __ (самостоятельно): возврат self.user.username защиту create_profile (отправитель, ** kwargs ): пользователь = kwargs [ "экземпляр"] если kwargs [ "создано"]: user_profile = Автор (пользователь = пользователь, био = 'мой био') user_profile.save () post_save.connect (create_profile, отправитель = пользователь) шаблон: {% распространяется "base_generic.html" %} {% название блок%} {{Автор пользователя}} {% концевым блоком%} {% содержание блок%} {{пользователь}} Био: {{user.author.био}} {% для элемента user.author.blogs_set.all%} {{item.title}} {% ENDFOR%} {%} ENDBLOCK% просмотров: класс UserDetailView (generic.DetailView): модель = template_name User = ' blogapp / user_detail.html»Я хочу, чтобы получить доступ к биополе через user.author.bio, но ничего не отображает Я также попытался user.bio есть ли хитрый способ, чтобы получить доступ к этой области?
tookas92
1

голосов
1

ответ
0

Просмотры

Python plotly обновление Дэш / освежающий расположение

У меня есть приложение, которое импортирует макет из второго модуля затем выводит его на вкладке как возвращение app.layout к этой закладке содержанию. У меня проблема с вещью, что раскладка импортируются со значениями входов по умолчанию и, когда у меня есть входы заполнен с ключами и изменениями между вкладками тогда, когда я нажимаю обратно на вкладку входов сброса значения по умолчанию «х». Мне удалось решить эту проблему, объявив макет второй раз в обратном вызове, но это не выглядит хорошо, и потребует, чтобы написать компоновки 2 раза для дальнейших функций. Существует мой код: если 'менеджер' не в Пере (): менеджер = Recognition ( 'хх', 'хх') печать ( 'определение менеджера') lcheck = 0, а lcheck == 0: макет = [html.Div ( [html.Div ([html.H3 ( "Первичный ключ API"), DCC. ] Как вы можете видеть, что это экономит новый макет каждый раз я отправляю новые данные с кнопкой, но это решение выглядит ужасно, я хотел бы найти лучшее решение без хаоса в коде. Всего вещь обновить значение = manager.api_key и значение = manager.api_secret, в переменной компоновке. Я думал, чтобы получить доступ к значениям, как из обычного списка, но это не представляется возможным, так как он не вложен в обычный список. Есть ли способ, чтобы получить доступ к значениям для примера layout.getid ( «первичный ключ») значения. Или что-то вроде этого? Как очистить этот код? GetId ( «первичный ключ»). значение или что-то подобное? Как очистить этот код? GetId ( «первичный ключ»). значение или что-то подобное? Как очистить этот код?
tookas92
0

голосов
0

ответ
6

Просмотры

How to make Django background tasking when logged out

Я хочу, чтобы сделать фоновый процесс в Django, что петли некоторых функций при нажатии кнопки запуска, и останавливает цикл, когда кнопка остановки нажата. Он должен работать, когда пользователь находится «в автономном режиме» (не вошли) пользователь .every должен иметь отдельный процесс. До сих пор я понял, использовать Threading, но я пока не знаю, как это будет работать только что созданный класс, который начинается или останавливается темы это выглядит следующим образом: класс Решает (threading.Thread): «» "тему для принятия решения купить или продать ""»защиту __init __ (я, имя): threading.Thread .__ __ INIT (самость) # флаг, чтобы приостановить нить self.paused = True self.pause_cond = threading.Condition (threading.Lock) () self.pause_cond .acquire () self.name = имя Защита пробег (Я): в то время как правда: с self.pause_cond: в то время как self.paused: self.pause_cond.wait () # Buy_wait_sell () печать ( "Я зацикливание ~ !!") time.sleep (1) Защита пауза (Я): # Приобретите для блокировки рабочего self.paused = True самостоятельно .pause_cond.acquire () # просто должно возобновить поток четкость резюме (Self): self.paused = False # Уведомлять так нить будет будить после блокировки выпущенного self.pause_cond.notify () # Теперь отпустите self.pause_cond.release замка ( ) Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя? ждать () # Buy_wait_sell () печать ( "Я зацикливание ~ !!") time.sleep (1) Защиту пауза (Я): # Приобретать заблокировать рабочий self.paused = True self.pause_cond.acquire () # должен просто возобновить поток четкости резюме (Self): self.paused = False # Уведомлять так нить пробудится после блокировки выпущен self.pause_cond.notify () # Теперь отпустите self.pause_cond.release блокировки () Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя? ждать () # Buy_wait_sell () печать ( "Я зацикливание ~ !!") time.sleep (1) Защиту пауза (Я): # Приобретать заблокировать рабочий self.paused = True self.pause_cond.acquire () # должен просто возобновить поток четкости резюме (Self): self.paused = False # Уведомлять так нить пробудится после блокировки выпущен self.pause_cond.notify () # Теперь отпустите self.pause_cond.release блокировки () Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя? # Приобретите для блокировки работник self.paused = True self.pause_cond.acquire () # просто должно возобновить поток Защиты резюме (сам): self.paused = False # Уведомлять так нить пробудится после блокировки выпущена self.pause_cond.notify () # Теперь отпустите self.pause_cond.release блокировки () Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя? # Приобретите для блокировки работник self.paused = True self.pause_cond.acquire () # просто должно возобновить поток Защиты резюме (сам): self.paused = False # Уведомлять так нить пробудится после блокировки выпущена self.pause_cond.notify () # Теперь отпустите self.pause_cond.release блокировки () Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя? уведомить () # Теперь отпустите self.pause_cond.release блокировки () Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя? уведомить () # Теперь отпустите self.pause_cond.release блокировки () Является ли это хорошая идея? Как бы я назначу нить к пользователю? Может быть, модель метода? Будет ли это быть на самом деле работает, когда я выйти или Джанго убить этот процесс? Whould это будет очень неэффективно, когда тема будет запущена с созданием пользователя?
tookas92