Получить данные из связи manytomany Django

Помогите разобраться есть две сущности Tasks и Journalist в Tasks имеем связь ManyToMany

journalists = models.ManyToManyField(Journalist, verbose_name='Журналист', blank=True,
                                     null=True)

при обработке сигналов (после сохранения) хочу получить данные из journalists

@receiver(post_save, sender=Tasks)
def create_notification(sender, instance, created, **kwargs):
if created:
    print(instance.location)
    print(instance.journalists.all())

else:
    print(instance.location)
    print(instance.journalists.all())

при создании новой записи вывод пустой <QuerySet []> при сохранении уже созданной выводит предыдущие значения с полем location который не связан такого нету, выводит значения какие есть при сохранении экземпляра. Благодарю за помощь.

Ты пытаешься получить в момент создания, данных ещё нет в базе.
Попробуй так:

@receiver(m2m_changed, sender=Tasks.journalists.through)
def journalists_changed(sender, instance, action, **kwargs):
    if action == 'post_add' or action == 'post_remove':
        print(instance.location)
        print(instance.journalists.all())
Вернуться на верх