From 14824738b22040aa01a685e7a176a25ec92a13d9 Mon Sep 17 00:00:00 2001 From: Andrey Date: Thu, 21 Sep 2017 15:34:27 +0300 Subject: [PATCH] journals update --- journals/models.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/journals/models.py b/journals/models.py index b8cc4a9..360c601 100755 --- a/journals/models.py +++ b/journals/models.py @@ -1678,23 +1678,31 @@ def set_opened(journal, point): # Новое API -class Thread(models.Model): - key = models.CharField(max_length=200) - subscribers = models.ManyToManyField(to=settings.AUTH_USER_MODEL, verbose_name=u'Подписчики') - - class Journal(models.Model): - threads = models.ManyToManyField(to=Thread, verbose_name=u'Треды') + thread = models.ForeignKey(to='Thread', verbose_name=u'Тред') user = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name=u'Инициатор действия') content_type = models.ForeignKey(to=ContentType) + body = models.TextField(default='') object_id = models.PositiveIntegerField() content_object = GenericForeignKey('content_type', 'object_id') action_type = models.ForeignKey(to='Action') + date = models.DateTimeField(auto_now=True) def __str__(self): return 'Пользователь %s %s' % (self.user.email, self.action_type.name) +class Thread(models.Model): + key = models.CharField(max_length=200) + text = models.TextField(verbose_name=u'Описание треда') + subscribers = models.ManyToManyField(to=settings.AUTH_USER_MODEL, verbose_name=u'Подписчики') + children = models.ManyToManyField(to='self', blank=True) + + def get_journals(self, **filter_extra): + threads = [i for i in self.children.all()].append(self) + return Journal.objects.filter(thread_in=threads, **filter_extra).order_by('-date') + + class Action(models.Model): name = models.CharField(max_length=255, verbose_name=u'Наименование действия (на английском)') text = models.TextField(verbose_name=u'Описание действия') \ No newline at end of file