получить данные из связи 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())