feat: module favourites for user (#370)
This commit is contained in:
parent
cb8b6b43dc
commit
d28fe930a6
7 changed files with 150 additions and 4 deletions
|
|
@ -45,7 +45,7 @@ from .shortcut import Shortcut
|
|||
|
||||
from .view import View
|
||||
|
||||
from .module import Module, ModuleMember, ModuleIssue, ModuleLink
|
||||
from .module import Module, ModuleMember, ModuleIssue, ModuleLink, ModuleFavorite
|
||||
|
||||
from .api_token import APIToken
|
||||
|
||||
|
|
|
|||
|
|
@ -100,3 +100,29 @@ class ModuleLink(ProjectBaseModel):
|
|||
|
||||
def __str__(self):
|
||||
return f"{self.module.name} {self.url}"
|
||||
|
||||
|
||||
class ModuleFavorite(ProjectBaseModel):
|
||||
"""_summary_
|
||||
ModuleFavorite (model): To store all the module favorite of the user
|
||||
"""
|
||||
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="module_favorites",
|
||||
)
|
||||
module = models.ForeignKey(
|
||||
"db.Module", on_delete=models.CASCADE, related_name="module_favorites"
|
||||
)
|
||||
|
||||
class Meta:
|
||||
unique_together = ["module", "user"]
|
||||
verbose_name = "Module Favorite"
|
||||
verbose_name_plural = "Module Favorites"
|
||||
db_table = "module_favorites"
|
||||
ordering = ("-created_at",)
|
||||
|
||||
def __str__(self):
|
||||
"""Return user and the module"""
|
||||
return f"{self.user.email} <{self.module.name}>"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue