Size: a a a

Django [ru] #STAY HOME

2021 March 24

IK

Ivan Karniyenka in Django [ru] #STAY HOME
Dan Tyan
ну те
if books_qs.exists():
   for
else:

такой
вариант подойдет  ?
не совсем. после него мне придется делать еще один запрос на получение всех книг для итерации. exists - ернут ведь true или folse
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Ivan Karniyenka
не совсем. после него мне придется делать еще один запрос на получение всех книг для итерации. exists - ернут ведь true или folse
да
источник

Д

Дмитрий in Django [ru] #STAY HOME
Привет всем! В проекте используется тенантность, то есть есть одна общая для всех пользователей схема default, и по одной схеме для каждого пользователя. Схемы переключаются set_schema(user).
Есть модели A и B. A находится в общей схеме, а B в отдельной схеме для каждого пользователя.
class A(models.Model):
   pass


class B(models.Model):
   a = models.ManyToMany(A)

Нужно удалить объект из A, но возникает ошибка о том, что отсутствует связь. Похоже, что пытается удалить M2M связь, но не может из-за тенантности. Как удалить объект из А так, чтобы удалились связи во всех схемах с B?
источник

A

Aquinary in Django [ru] #STAY HOME
Попытаюсь правильно сформулировать проблему.
Есть две модели, Посты и Файлы
У записи "Пост" может быть множество файлов (типичная одна-ко-многим) - это всё ок, всё сделано
Но я бы хотел облегчить редактирование всего этого в рамках админки
Сейчас я должен создавать записи Файлов отдельно от поста и выбирать в записи файлов нужный пост
Возможно ли сделать так, чтобы я мог прям в записе Поста через какой-нибудь условный плюсик добавлять записи Файлов?
https://gitlab.com/-/snippets/2095002
источник

A

Aquinary in Django [ru] #STAY HOME
Вот, например, добавление поста. Я добавляю пост, сохраняю
Перехожу в Файлы и добавляю файл и там внутри уже выбираю нужный пост
А хотелось бы, чтобы можно было добавить запись файла сразу из записи поста. Типо как "Категория"
источник

O

Oleksiy in Django [ru] #STAY HOME
Aquinary
Вот, например, добавление поста. Я добавляю пост, сохраняю
Перехожу в Файлы и добавляю файл и там внутри уже выбираю нужный пост
А хотелось бы, чтобы можно было добавить запись файла сразу из записи поста. Типо как "Категория"
источник

Ю

Юрий in Django [ru] #STAY HOME
Всем привет.
Есть небольшой rest Framework. Что посоветуете использовать для того чтобы пользователи отправляли апи запросы с использованием токена например (Autefication Bearer....) и чтобы отследить количество запросов?
источник

A

Aquinary in Django [ru] #STAY HOME
Класс
Огромное спасибо)
Правда там документация такая, что без стэковерфлова не разберёшься. Не сразу допёр, что нужно это в admins.py пихать)
источник

A

Aquinary in Django [ru] #STAY HOME
Но это то что нужно, ух, как же класс
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Дмитрий
Привет всем! В проекте используется тенантность, то есть есть одна общая для всех пользователей схема default, и по одной схеме для каждого пользователя. Схемы переключаются set_schema(user).
Есть модели A и B. A находится в общей схеме, а B в отдельной схеме для каждого пользователя.
class A(models.Model):
   pass


class B(models.Model):
   a = models.ManyToMany(A)

Нужно удалить объект из A, но возникает ошибка о том, что отсутствует связь. Похоже, что пытается удалить M2M связь, но не может из-за тенантности. Как удалить объект из А так, чтобы удалились связи во всех схемах с B?
"ручками")
и зачем переключаешь схемы? хочешь из default удалить в другой?
источник

Д

Дмитрий in Django [ru] #STAY HOME
Artem Gubatenko
"ручками")
и зачем переключаешь схемы? хочешь из default удалить в другой?
Да, там м2м связь из схемы пользователя в обычную. Как я понимаю, нужно из каждой схемы удалить связь
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Дмитрий
Да, там м2м связь из схемы пользователя в обычную. Как я понимаю, нужно из каждой схемы удалить связь
О_О, не знал что между таблицами в разных схемах можно связь сделать еще и м2м 🤔
Это точно как ты описываешь? App'ка с моделью A в SHARED_APPS, а B в TENANT_APPS и между ними m2m?
может ты ошибся и связь в пределах одной схемы, а ты пытаешься переключит и искать в другой?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
еще интересно: как происходит добавление через m2m?
Тоже с переключением схемы?
источник

Д

Дмитрий in Django [ru] #STAY HOME
Artem Gubatenko
О_О, не знал что между таблицами в разных схемах можно связь сделать еще и м2м 🤔
Это точно как ты описываешь? App'ка с моделью A в SHARED_APPS, а B в TENANT_APPS и между ними m2m?
может ты ошибся и связь в пределах одной схемы, а ты пытаешься переключит и искать в другой?
Если честно, не знаю точно, пока не разобрался ещё. Знаю, что в одной модели общие объекты для всех пользователей, а в другой изолированные
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Дмитрий
Если честно, не знаю точно, пока не разобрался ещё. Знаю, что в одной модели общие объекты для всех пользователей, а в другой изолированные
если так, то там наверно не джанговская m2m, а кастомная и все действия делаются через кастомный код. Проверь. Думаю поймешь как задумывал тот кто это писал))
источник

Д

Дмитрий in Django [ru] #STAY HOME
Artem Gubatenko
если так, то там наверно не джанговская m2m, а кастомная и все действия делаются через кастомный код. Проверь. Думаю поймешь как задумывал тот кто это писал))
Сейчас посмотреть не могу, но там вроде обычная ManyToMany используется
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Дмитрий
Сейчас посмотреть не могу, но там вроде обычная ManyToMany используется
но таблицы же в разных схемах (как бы в разных БД) и джанго какую-то из них (когда работает с другой) не видит.
Должна ругаться.
источник

Д

Дмитрий in Django [ru] #STAY HOME
Artem Gubatenko
но таблицы же в разных схемах (как бы в разных БД) и джанго какую-то из них (когда работает с другой) не видит.
Должна ругаться.
Ясно, тогда я наверное что-то не так понял, попробую получше разобраться сначала
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Дмитрий
Ясно, тогда я наверное что-то не так понял, попробую получше разобраться сначала
думаю там что-то "подкрутили" чтоб это работало. Найди код где происходит добавление - будет как пример работы с этой связью
источник

Д

Дмитрий in Django [ru] #STAY HOME
Artem Gubatenko
думаю там что-то "подкрутили" чтоб это работало. Найди код где происходит добавление - будет как пример работы с этой связью
Ок, попробую завтра посмотреть, спасибо
источник