Size: a a a

Django [ru] #STAY HOME

2021 March 05

q

qb in Django [ru] #STAY HOME
Не выходи из комнаты.
Можно. Если при пагинации на фронт передаются айди записей.
понял, спасибо, буду смотреть
источник

N

Nire in Django [ru] #STAY HOME
Serghei Iakovlev
Не знаю какая у тебя  задача, но я пол интернета перерыл в поисках вменяемого и опенсорсного решения генерации таблиц в PDF.

В итоге из джанги я дергаю openpyxl чтобы заполнить табличку-шаблон и сохраняю заполненную табличку под новым именем на диск. Таких вызовов у меня много. В итоге получается N запоненых таблиц. Затем из джанги питоном я дергаю libreoffice чтобы сконвертировать все талицы в PDF. И последней командой ghostscript-ом склеить все PDF в один
Уже решил с помощью стилей
источник

T

Troubleshoot in Django [ru] #STAY HOME
Привет не могу понять как работают чанки в селери. Расскажите плиз как их использовать.

@celery_app.task(name='high.add')
def add(x:list):
   print(x)

add.chunks(iter([1,2,3,4,5]), 3).group().apply_async(queue='high')
TypeError: api.celery_tasks.queues.high.add() argument after * must be an iterable, not int


Я хочу разбить список на мелкие списки по N элементов и запустить параллельное выполнение. Но из того что я сейчас вижу оно пытается взять первые 3 элемента из списка и запустить их параллельно add(1) add(2) add(3)
А я хочу что-то в духе add([1,2,3]) add([4,5])

Окей так и таким образом он тоже не работает, я пробую запускать

add.chunks(iter([[1,2,3,4,5], [1,3,4,5,6]]), 3).group().apply_async(queue='high')
TypeError: add() takes 1 positional argument but 5 were given


Оно парсит подсписок и пытается каждый элемент отправить в функцию я понять не могу.

И вот так я пробовал

@celery_app.task()
def send(id):
   return send_message(id)

send.chunks([1,2,3,4,5], 3).group().apply_async(queue='high')
TypeError: api.celery_tasks.queues.high.add() argument after * must be an iterable, not int



Хелпаните плиз, я уже закипаю.
источник

A

Alexander in Django [ru] #STAY HOME
Как реализовать, чтоб Юзеры (на сайте) и Админы (в админке) авторизовывались отдельно и чтоб можно было сохранять одновременно две сессии?

Логин, как тут (если вдруг нужно):
http://myhouse24.avada-media.ua/admin/site/login
источник

KA

Kalykov Alli in Django [ru] #STAY HOME
всем привет.
есть проект с кастомной юзеркой переписанный на наследовании AbstractBaseUser, и переобределенный BaseUserManager. В принципе мало отличается от базовой юзерки.
дефолтная аус_модель переопределен AUTH_USER_MODEL = 'authapp.Account' на кастомную
для аутентификации использую simple_jwt_authentication
вопрос следующий, можно ли роли не прописывать для кастомной модели юзера пермишены, а связать с Group.permissions и настраивать там.
на данном этапе request.user,user.groups.all().filter(name=''role") возвращает тот роль который настроен в админке для данного пользователя, но дает полный доступ к апи, а не на разрешенные только для данной группы в которую входит пользователь
источник

Z

ZHU in Django [ru] #STAY HOME
возможно ли в  django admin поставить автоселект на many_to_many ?
источник

NS

Nik S in Django [ru] #STAY HOME
подскажите пожалуйста, а в чем принцип
надо по url-пути отправить сгенерированый файл
и чтобы браузер какбы задал скачивание файла
есть простой прямой способ это сделать?
или надо JS использовать и на него подавать?
источник

JT

James Town in Django [ru] #STAY HOME
Я уже перерыл все инструкции, они все практически одинаковые и все нерабочие.

У меня без проблем запускается так gunicorn:

gunicorn --bind 0.0.0.0:8000 ghproj.wsgi

но через сервис не запускается и пишет одно и то же:

systemd[1]: gunicorn.socket: Socket service gunicorn.service not loaded, refusing.
systemd[1]: Failed to listen on gunicorn socket.
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
Такс, настала и моя очередь спрашивать )) Пишу для ModelAdmin кастомный фильтр, наследуюсь от admin.SimpleListFilter.

Мне нужно выбрать всех юзеров у которых не было оплаты в прошлом месяце (должники); Вопрос можно упростить,предположим у меня есть юзеры и комментарии — выбрать всех пользователей которые не писали комментарии за последний месяц.

Как написать SQL я знаю. А как при помощи admin.SimpleListFilter.queryset это сделать?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Serghei Iakovlev
Такс, настала и моя очередь спрашивать )) Пишу для ModelAdmin кастомный фильтр, наследуюсь от admin.SimpleListFilter.

Мне нужно выбрать всех юзеров у которых не было оплаты в прошлом месяце (должники); Вопрос можно упростить,предположим у меня есть юзеры и комментарии — выбрать всех пользователей которые не писали комментарии за последний месяц.

Как написать SQL я знаю. А как при помощи admin.SimpleListFilter.queryset это сделать?
так запрос обычный джанго
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Anton Fircak
так запрос обычный джанго
class AdminDeviceFilter(admin.SimpleListFilter):
   title = "Has requested device"
   parameter_name = "requested"

   def lookups(self, request, model_admin):
       lookup = (("Yes", "Yes"), ("No", "No"))
       return lookup

   def queryset(self, request, queryset):
       if self.value() == "Yes":
           return queryset.filter(devices__status__exact=DEVICE_STATUS[3][0])
       elif self.value() == "No":
           return queryset.exclude(devices__status__exact=DEVICE_STATUS[3][0])
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
Anton Fircak
так запрос обычный джанго
те просто exclude и тайм ренж за прошлый месяц?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
фильтр по дате и orders__isnull=True
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Serghei Iakovlev
те просто exclude и тайм ренж за прошлый месяц?
в в функции lookups делаете yes no (он должник или нет)

в функции queryset при yes делаете то что выше написал Dan, и в блоке No exclude по тому же условию
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
То, что нужно, спасибо

return queryset.exclude(
               payments__paid__gte=start,
               payments__paid__lte=end,
           )
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Serghei Iakovlev
То, что нужно, спасибо

return queryset.exclude(
               payments__paid__gte=start,
               payments__paid__lte=end,
           )
это для тех у кого была оплата, и не было оплаты queryset.filter
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
Ну вот у меня так

- Должник? queryset.exclude(... )
- Все ок? queryset.filter( ... )

И внутри скобок один и тот же ренж
источник

SI

Serghei Iakovlev in Django [ru] #STAY HOME
яж правильно понял?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Serghei Iakovlev
Ну вот у меня так

- Должник? queryset.exclude(... )
- Все ок? queryset.filter( ... )

И внутри скобок один и тот же ренж
def lookup написали?
источник

JT

James Town in Django [ru] #STAY HOME
Нужна помощь по gunicorn+nginx, может я тупой и не умею писать на русском и читать на русском, но я делаю все по инструкции и ни черта ничего не работает.
источник