Django: Не отображаются данные в модели
В поле отслеживания я выбираю нужные пункты, нажимаю кнопку сохранить, и мне выводиться пусть QuerySet (В методе save я вызываю print()). Если я зайду обратно, то могу заметить, что все сохранилось. Почему мне не выводится отслеживания и как можно это починить?
models.py
class Order(models.Model):
trackings = models.ManyToManyField(Tracking, blank=True, verbose_name='Отслеживания')
user = models.ForeignKey('account.CustomUser', on_delete=models.CASCADE,
null=True, blank=True, verbose_name='Пользователь')
active = models.BooleanField(default=False)
def save(self, *args, **kwargs):
print(self.trackings.all())
super().save(*args, **kwargs)
Используйте django сигналы:
from django.db.models.signals import m2m_changed
def trackings_changed(sender, **kwargs):
print(sender.trackings.all())
m2m_changed.connect(trackings_changed, sender=Order.trackings.through)
Сигналы вызываются в определенных моментах обработки. В данном случае, когда изменилось поле Order.trackings.