mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-06 18:00:57 +00:00
perf: 重构 notifications site msg
This commit is contained in:
@@ -2,24 +2,24 @@ from django.db import models
|
||||
|
||||
from common.db.models import JMSBaseModel
|
||||
|
||||
__all__ = ('SiteMessageUsers', 'SiteMessage')
|
||||
__all__ = ('SiteMessage', 'MessageContent')
|
||||
|
||||
|
||||
class SiteMessageUsers(JMSBaseModel):
|
||||
sitemessage = models.ForeignKey('notifications.SiteMessage', on_delete=models.CASCADE, db_constraint=False,
|
||||
related_name='m2m_sitemessageusers')
|
||||
user = models.ForeignKey('users.User', on_delete=models.CASCADE, db_constraint=False,
|
||||
related_name='m2m_sitemessageusers')
|
||||
class SiteMessage(JMSBaseModel):
|
||||
content = models.ForeignKey('notifications.MessageContent', on_delete=models.CASCADE,
|
||||
db_constraint=False, related_name='messages')
|
||||
user = models.ForeignKey('users.User', on_delete=models.CASCADE, db_constraint=False)
|
||||
has_read = models.BooleanField(default=False)
|
||||
read_at = models.DateTimeField(default=None, null=True)
|
||||
comment = ''
|
||||
|
||||
|
||||
class SiteMessage(JMSBaseModel):
|
||||
class MessageContent(JMSBaseModel):
|
||||
subject = models.CharField(max_length=1024)
|
||||
message = models.TextField()
|
||||
users = models.ManyToManyField(
|
||||
'users.User', through=SiteMessageUsers, related_name='recv_site_messages'
|
||||
'users.User', through=SiteMessage,
|
||||
related_name='recv_site_messages'
|
||||
)
|
||||
groups = models.ManyToManyField('users.UserGroup')
|
||||
is_broadcast = models.BooleanField(default=False)
|
||||
|
Reference in New Issue
Block a user