получить данные из связи 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 который не связан такого нету, выводит значения какие есть при сохранении экземпляра. Благодарю за помощь.


Ответы (1 шт):

Автор решения: AnnaBazueva

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

@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())
→ Ссылка