170 похожих чатов

Сделал вот такой сигнал: from django.contrib.auth.models import User @receiver(post_save, sender=User) def create_gamer(sender, instance,

created, **kwargs):
print("Run signal handler")
Создаю пользователя - ничего не происходит. ЧЯДНТ?

32 ответов

12 просмотров

ты же вроде писал, что юзер кастомный?

Tom-Cauf Автор вопроса

Уже нет. Отказался от этой идеи. Решил попробовать обработку на стокового повесить

вот и первые недостатки такого подхода) если серьезно: идей нет

кстати: а сигнал написан в файле models.py?

не регистрируешь сигнал? или закинь его к моделям, или импортируй в инит файл приложения, или пакета с моделями, если они отдельным пакетом

Tom-Cauf Автор вопроса

Согласно документации, можно вынести в signals.py - так и сделал

а зарегистрировал? Николай уже описал)

Tom-Cauf Автор вопроса

Ткни в доку, где про регистрацию? Что-то такого не видел.

Tom-Cauf Автор вопроса

У меня вот так - без регистрации и в signals.py - в тестовом проекте сейчас работало. А в основном не работает. Но там я делал через кастомного юзера

твой модуль signals.py просто никуда не импортится и джанго не знает что он есть. Вот сигнал и не регистрируется.

Tom-Cauf Автор вопроса

Так и в тестовом проекте тоже никуда не импортировался. Но работало. Тестовый сейчас не под рукой, жаль. Скинул бы код

я бы посоветовал отказаться от сигналов. Судя по названию, этот код можно вызвать/выполнить и в save()

Tom-Cauf Автор вопроса

Я таких способов не встречал в сети. Обычно либо полная кастомизация юзера, либо сигналы. Кастомизировать юзера ради одной доп-команды мне как-то не оч интересно

я тоже не в доке находил, а устанавливал опытным путем)

Tom-Cauf Автор вопроса

А где про регистрацию почитать?

Все что могу предложить - это сообщение) https://t.me/pydjango/499947 ну или погуглить)

https://coderoad.ru/2719038/Где-должны-жить-обработчики-сигналов-в-проекте-django#22924754 тут вроде развернуто, но я не использую сигналы и инфа могла устареть

Вот тут про регистрацию написано, но я сам не пробовал я сигналы к модели ложу обычно https://simpleisbetterthancomplex.com/tutorial/2016/07/28/how-to-create-django-signals.html

Tom-Cauf Автор вопроса

Чет лажа какая-то с этой регистрацией. Ничего не заработало, кроме переноса сигналов в models.py

Ну может инфа уже старая 😅, вообще думаю сигнал лучше рядом с моделью хранить так читабильность выше. А где в доке написано что их надо signals.py выносить?

нашел, поидее должно работать, регистрация в ready() https://docs.djangoproject.com/en/3.1/topics/signals/#connecting-receiver-functions

Tom-Cauf Автор вопроса

Делал так - не получилось

а как именно делал?

в apps.py совал?

Tom-Cauf Автор вопроса

Да, импортировал в там. Надо будет попробовать через connect

там вроде не импортировать нужно ) импортировать в init приложения или пакета с модулями, хотя щас вижу что в доке это бэдпрактис вроде ка

Tom-Cauf Автор вопроса

Там выше ссылку давали, где сигналы через декоратор ресивер передаются. Вот в этом случае написано, что в ready надо просто импортнуть модуль. Но не взлетело. Буду переделывать на connect - может заработает

а покажи как апка в инсталдапс подключена

Tom-Cauf Автор вопроса

Эмм... Как обычно. Просто по названию приложения. Или предлагаешь передавать туда ссылку именно на конфиг (или как оно там в альтернативном варианте?)

ну да, в этом проблема, должно быть "appname.apps.AppnameConfig"

Tom-Cauf Автор вопроса

Ага, спс. Тоже сейчас проверю

Tom-Cauf Автор вопроса

Да, все сработало при указании ссылки на объект конфига! Спасибо за помощь!

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Карта сайта