Skip to content

Commit 2aac818

Browse files
committed
refactor: separate models to separate files
1 parent b58b127 commit 2aac818

File tree

10 files changed

+305
-276
lines changed

10 files changed

+305
-276
lines changed

django_wtf/core/models.py

Lines changed: 0 additions & 276 deletions
This file was deleted.

django_wtf/core/models/__init__.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from .category_model import Category
2+
from .contributor_model import Contributor
3+
from .email_subscriber_model import EmailSubscriber
4+
from .profile_model import Profile, ProfileFollowers, UserType
5+
from .pypi_project import PypiProject
6+
from .pypi_release import PypiRelease
7+
from .repository_model import Repository, RepositoryStars, RepositoryType
8+
from .social_media_news_model import SocialNews, SocialNewsType
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from django.db import models
2+
from django.urls import reverse
3+
from model_utils.models import TimeStampedModel
4+
5+
6+
class Category(TimeStampedModel):
7+
name = models.CharField(max_length=50, unique=True)
8+
emoji = models.CharField(max_length=5)
9+
10+
def __str__(self):
11+
return f"<Category: {self.name}>"
12+
13+
def get_absolute_url(self):
14+
return reverse("core:category-detail", args=[self.name])
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from django.db import models
2+
from model_utils.models import TimeStampedModel
3+
4+
5+
class Contributor(TimeStampedModel):
6+
profile = models.ForeignKey(
7+
"core.Profile",
8+
on_delete=models.CASCADE,
9+
)
10+
repository = models.ForeignKey(
11+
"core.Repository",
12+
on_delete=models.CASCADE,
13+
related_name="contributors",
14+
related_query_name="contributor",
15+
)
16+
contributions = models.PositiveIntegerField()
17+
18+
def __str__(self):
19+
return f"<Contributor {self.profile.login} to {self.repository.full_name}>"
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from django.contrib.auth import get_user_model
2+
from django.db import models
3+
from model_utils.models import TimeStampedModel
4+
5+
User = get_user_model()
6+
7+
8+
class EmailSubscriber(TimeStampedModel):
9+
user = models.OneToOneField(
10+
User, on_delete=models.CASCADE, related_name="subscriber"
11+
)

0 commit comments

Comments
 (0)