Created OS model

This commit is contained in:
Kristofers Solo 2023-04-09 13:36:41 +03:00
parent a4359a4dc1
commit e74853d89f
3 changed files with 45 additions and 4 deletions

View File

@ -0,0 +1,27 @@
# Generated by Django 4.1.7 on 2023-04-09 10:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('fossdb', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='OperatingSystem',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100)),
('description', models.TextField(blank=True, default='')),
('version', models.CharField(blank=True, max_length=50)),
],
),
migrations.AddField(
model_name='project',
name='os',
field=models.ManyToManyField(to='fossdb.operatingsystem'),
),
]

View File

@ -3,6 +3,12 @@ import uuid
from django.conf import settings from django.conf import settings
from django.db import models from django.db import models
from .host.models import HostingPlatform
from .language.models import ProgrammingLanguage
from .license.models import License
from .operating_system.models import OperatingSystem
from .tag.models import Tag
User = settings.AUTH_USER_MODEL User = settings.AUTH_USER_MODEL
@ -11,10 +17,11 @@ class Project(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE) author = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
description = models.TextField(blank=True, default="") description = models.TextField(blank=True, default="")
licenses = models.ManyToManyField("License") licenses = models.ManyToManyField(License)
programming_languages = models.ManyToManyField("ProgrammingLanguage", through="ProjectProgrammingLanguage", related_name="projects") programming_languages = models.ManyToManyField(ProgrammingLanguage, through="ProjectProgrammingLanguage", related_name="projects")
hosting_platform = models.ManyToManyField("HostingPlatform", through="ProjectHostingPlatform", related_name="projects") hosting_platform = models.ManyToManyField(HostingPlatform, through="ProjectHostingPlatform", related_name="projects")
tag = models.ManyToManyField("Tag") tag = models.ManyToManyField(Tag)
os = models.ManyToManyField(OperatingSystem)
date_created = models.DateTimeField(auto_now_add=True) date_created = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):

View File

@ -0,0 +1,7 @@
from django.db import models
class OperatingSystem(models.Model):
name = models.CharField(max_length=100)
description = models.TextField(blank=True, default="")
version = models.CharField(max_length=50, blank=True)