This commit is contained in:
Administrator
2023-09-23 16:13:11 +03:00
commit 9e7fc7b4c1
605 changed files with 78660 additions and 0 deletions

3
web/models/__init__.py Normal file
View File

@@ -0,0 +1,3 @@
from .custom_user import CustomUser
from .project import Project
from .membership import Membership

19
web/models/custom_user.py Normal file
View File

@@ -0,0 +1,19 @@
from django.contrib.auth.models import AbstractUser
from django.db import models
class CustomUser(AbstractUser):
vk_id = models.IntegerField(null=True, blank=True)
yandex_id = models.BigIntegerField(null=True, blank=True)
only_one_project = models.BooleanField(default=True)
selected_project = models.ForeignKey('Project', on_delete=models.CASCADE, null=True)
@property
def profile_photo_url(self):
return f"/profile_photo?id={self.id}"
@property
def projects(self):
from web.models import Membership
for membership in Membership.objects.filter(user=self):
yield membership.project

9
web/models/membership.py Normal file
View File

@@ -0,0 +1,9 @@
from django.db import models
from web.models.custom_user import CustomUser
from web.models.project import Project
class Membership(models.Model):
user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
project = models.ForeignKey(Project, on_delete=models.CASCADE)

5
web/models/project.py Normal file
View File

@@ -0,0 +1,5 @@
from django.db import models
class Project(models.Model):
name = models.TextField()