Skip to content

models

django_spire.comment.models

Comment

Bases: HistoryModelMixin

content_type = models.ForeignKey(ContentType, on_delete=(models.CASCADE), editable=False) class-attribute instance-attribute

object_id = models.PositiveIntegerField(editable=False) class-attribute instance-attribute

content_object = GenericForeignKey('content_type', 'object_id') class-attribute instance-attribute

parent = models.ForeignKey('self', on_delete=(models.CASCADE), blank=True, null=True, related_name='children', related_query_name='child') class-attribute instance-attribute

user = models.ForeignKey(User, on_delete=(models.CASCADE), editable=False, related_name='comment_list') class-attribute instance-attribute

information = models.TextField(default='') class-attribute instance-attribute

created_datetime = models.DateTimeField(default=now, editable=False) class-attribute instance-attribute

is_edited = models.BooleanField(default=False, editable=False) class-attribute instance-attribute

objects = CommentQuerySet.as_manager() class-attribute instance-attribute

Meta

db_table = 'django_spire_comment' class-attribute instance-attribute
verbose_name = 'Comment' class-attribute instance-attribute
verbose_name_plural = 'Comments' class-attribute instance-attribute
ordering = ['-created_datetime'] class-attribute instance-attribute

__str__

Source code in django_spire/comment/models.py
def __str__(self):
    return f'{self.information[0:10]}...'

find_user_list

Source code in django_spire/comment/models.py
def find_user_list(self):
    from django.contrib.auth.models import User
    return User.objects.filter(username__in=self.scrape_username_list())

scrape_username_list

Source code in django_spire/comment/models.py
def scrape_username_list(self):
    return [username[1:] for username in self.information.split() if username.startswith('@')]

send_notification

Source code in django_spire/comment/models.py
def send_notification(self):
    print('Function Called')
    # print(self.scrape_username_list())
    # print(self.find_user_list())
    for user in self.find_user_list():
        print(f'Sending comment to {user.username}')

update

Source code in django_spire/comment/models.py
def update(self, information):
    self.information = information
    self.is_edited = True
    self.save()