Moved ProgrammingLanguage to separate folder

This commit is contained in:
Kristofers Solo 2023-04-09 13:24:51 +03:00
parent fdf8833523
commit e0f2e615f3
6 changed files with 45 additions and 39 deletions

View File

@ -1,8 +1,8 @@
from django.contrib import admin from django.contrib import admin
from .language.models import ProgrammingLanguage, ProjectProgrammingLanguage
from .license.models import License from .license.models import License
from .models import (HostingPlatform, ProgrammingLanguage, Project, from .models import HostingPlatform, Project, ProjectHostingPlatform, Tag
ProjectHostingPlatform, ProjectProgrammingLanguage, Tag)
class ProjectProgrammingLanguageInline(admin.TabularInline): class ProjectProgrammingLanguageInline(admin.TabularInline):

View File

@ -1,7 +1,6 @@
from django import forms from django import forms
from .models import (HostingPlatform, License, ProgrammingLanguage, Project, from .models import HostingPlatform, Project, ProjectHostingPlatform
ProjectHostingPlatform, ProjectProgrammingLanguage)
class ProjectForm(forms.ModelForm): class ProjectForm(forms.ModelForm):
@ -23,23 +22,6 @@ class ProjectForm(forms.ModelForm):
} }
class ProgrammingLanguageForm(forms.ModelForm):
percentage = forms.IntegerField(min_value=0, max_value=100)
class Meta:
model = ProgrammingLanguage
fields = ["language", "percentage"]
ProjectProgrammingLanguageFormSet = forms.inlineformset_factory(
Project,
ProjectProgrammingLanguage,
form=ProgrammingLanguageForm,
extra=1,
can_delete=True,
)
class HostingPlatformForm(forms.ModelForm): class HostingPlatformForm(forms.ModelForm):
url = forms.URLField() url = forms.URLField()

View File

@ -0,0 +1,22 @@
from django import forms
from fossdb.models import Project
from .models import ProgrammingLanguage, ProjectProgrammingLanguage
class ProgrammingLanguageForm(forms.ModelForm):
percentage = forms.IntegerField(min_value=0, max_value=100)
class Meta:
model = ProgrammingLanguage
fields = ["language", "percentage"]
ProjectProgrammingLanguageFormSet = forms.inlineformset_factory(
Project,
ProjectProgrammingLanguage,
form=ProgrammingLanguageForm,
extra=1,
can_delete=True,
)

View File

@ -0,0 +1,17 @@
from django.db import models
class ProgrammingLanguage(models.Model):
language = models.CharField(max_length=100)
def __str__(self):
return self.language
class ProjectProgrammingLanguage(models.Model):
project = models.ForeignKey("Project", on_delete=models.CASCADE)
language = models.ForeignKey(ProgrammingLanguage, on_delete=models.CASCADE)
percentage = models.PositiveIntegerField()
def __str__(self):
return f"{self.project} | {self.language} | {self.percentage}%"

View File

@ -3,6 +3,7 @@ import uuid
from django.conf import settings from django.conf import settings
from django.db import models from django.db import models
from .language.models import ProgrammingLanguage
from .license.models import License from .license.models import License
User = settings.AUTH_USER_MODEL User = settings.AUTH_USER_MODEL
@ -15,13 +16,6 @@ class HostingPlatform(models.Model):
return self.hosting_platform return self.hosting_platform
class ProgrammingLanguage(models.Model):
language = models.CharField(max_length=100)
def __str__(self):
return self.language
class Tag(models.Model): class Tag(models.Model):
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
description = models.TextField(blank=True, default="") description = models.TextField(blank=True, default="")
@ -31,15 +25,6 @@ class Tag(models.Model):
return self.name return self.name
class ProjectProgrammingLanguage(models.Model):
project = models.ForeignKey("Project", on_delete=models.CASCADE)
language = models.ForeignKey(ProgrammingLanguage, on_delete=models.CASCADE)
percentage = models.PositiveIntegerField()
def __str__(self):
return f"{self.project} | {self.language} | {self.percentage}%"
class ProjectHostingPlatform(models.Model): class ProjectHostingPlatform(models.Model):
project = models.ForeignKey("Project", on_delete=models.CASCADE) project = models.ForeignKey("Project", on_delete=models.CASCADE)
hosting_platform = models.ForeignKey(HostingPlatform, on_delete=models.CASCADE) hosting_platform = models.ForeignKey(HostingPlatform, on_delete=models.CASCADE)

View File

@ -1,8 +1,8 @@
from django.contrib.auth.decorators import login_required, permission_required from django.contrib.auth.decorators import login_required, permission_required
from django.shortcuts import redirect, render from django.shortcuts import redirect, render
from .forms import (ProjectForm, ProjectHostingPlatformFormSet, from .forms import ProjectForm, ProjectHostingPlatformFormSet
ProjectProgrammingLanguageFormSet) from .language.forms import ProjectProgrammingLanguageFormSet
from .models import Project from .models import Project