Created
February 2, 2023 10:28
-
-
Save om2c0de/512ec8880a0070b621ac9a069ea1ca8d to your computer and use it in GitHub Desktop.
MTC New tables
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django.db import models | |
from apps.evidences.models import Evidences | |
from apps.learners.models import Learners | |
class CreditArchitectures(models.Model): | |
""" | |
Модель школы профильная | |
""" | |
title = models.CharField(max_length=255) | |
description = models.TextField(blank=True, null=True) | |
publisher = models.CharField(max_length=255, blank=True, null=True) | |
schoolid = models.ForeignKey('schools.Schools', models.DO_NOTHING, db_column='schoolId', blank=True, null=True) # Field name made lowercase. | |
downloads = models.IntegerField(blank=True, null=True) | |
views = models.IntegerField(blank=True, null=True) | |
reviews = models.IntegerField(blank=True, null=True) | |
rating = models.DecimalField(max_digits=65535, decimal_places=65535, blank=True, null=True) | |
iconurl = models.CharField(db_column='iconUrl', max_length=255, blank=True, null=True) # Field name made lowercase. | |
createdat = models.DateTimeField(db_column='createdAt') # Field name made lowercase. | |
updatedat = models.DateTimeField(db_column='updatedAt') # Field name made lowercase. | |
isshared = models.BooleanField(db_column='isShared') # Field name made lowercase. | |
typesenabled = models.BooleanField(db_column='typesEnabled') # Field name made lowercase. | |
def __str__(self): | |
return self.title | |
class Meta: | |
managed = False | |
db_table = 'CreditArchitectures' | |
class CreditAreas(models.Model): | |
title = models.CharField(max_length=255) | |
description = models.TextField(blank=True, null=True) | |
position = models.IntegerField(blank=True, null=True) | |
creditarchitectureid = models.ForeignKey(CreditArchitectures, models.DO_NOTHING, db_column='creditArchitectureId') # Field name made lowercase. | |
createdat = models.DateTimeField(db_column='createdAt') # Field name made lowercase. | |
updatedat = models.DateTimeField(db_column='updatedAt') # Field name made lowercase. | |
archivedat = models.DateTimeField(db_column='archivedAt', blank=True, null=True) # Field name made lowercase. | |
typicalnumofadvancedcredits = models.IntegerField(db_column='typicalNumOfAdvancedCredits', blank=True, null=True) # Field name made lowercase. | |
thresholdnumofadvancedcredits = models.IntegerField(db_column='thresholdNumOfAdvancedCredits', blank=True, null=True) # Field name made lowercase. | |
def __str__(self): | |
return self.title | |
class Meta: | |
managed = False | |
db_table = 'CreditAreas' | |
class CreditLabels(models.Model): | |
creditid = models.ForeignKey('credits.Credits', models.DO_NOTHING, db_column='creditId', blank=True, null=True) # Field name made lowercase. | |
labelid = models.ForeignKey('labels.Labels', models.DO_NOTHING, db_column='labelId', blank=True, null=True) # Field name made lowercase. | |
createdat = models.DateTimeField(db_column='createdAt') # Field name made lowercase. | |
updatedat = models.DateTimeField(db_column='updatedAt') # Field name made lowercase. | |
class Meta: | |
managed = False | |
db_table = 'CreditLabels' | |
unique_together = (('creditid', 'labelid'),) | |
class CreditTypes(models.Model): | |
code = models.CharField(unique=True, max_length=255) | |
name = models.CharField(max_length=255, blank=True, null=True) | |
createdat = models.DateTimeField(db_column='createdAt') # Field name made lowercase. | |
updatedat = models.DateTimeField(db_column='updatedAt') # Field name made lowercase. | |
def __str__(self): | |
return self.name | |
class Meta: | |
managed = False | |
db_table = 'CreditTypes' | |
class Credits(models.Model): | |
title = models.CharField(max_length=255) | |
description = models.TextField(blank=True, null=True) | |
creditareaid = models.ForeignKey(CreditAreas, models.DO_NOTHING, db_column='creditAreaId') # Field name made lowercase. | |
typeid = models.ForeignKey(CreditTypes, models.DO_NOTHING, db_column='typeId') # Field name made lowercase. | |
createdat = models.DateTimeField(db_column='createdAt') # Field name made lowercase. | |
updatedat = models.DateTimeField(db_column='updatedAt') # Field name made lowercase. | |
position = models.IntegerField(blank=True, null=True) | |
archivedat = models.DateTimeField(db_column='archivedAt', blank=True, null=True) # Field name made lowercase. | |
def __str__(self): | |
return self.title | |
class Meta: | |
managed = False | |
db_table = 'Credits' | |
class Preset(models.Model): | |
"""Пре-сет для архитектуры""" | |
title = models.CharField(max_length=255) # 7-steps | |
architecture = models.ForeignKey(CreditArchitectures, related_name="presets", on_delete=models.CASCADE, blank=True, null=True) # MBA Model | |
def __str__(self): | |
return self.title | |
class PresetStep(models.Model): | |
"""Шаг пре-сета архитектуры""" | |
title = models.CharField(max_length=255, blank=True, null=True) # Step 1 | |
description = models.CharField(max_length=255, blank=True, null=True) # Tips for step 1 | |
preset = models.ForeignKey(Preset, related_name='steps', on_delete=models.CASCADE, blank=True, null=True) # 7-steps | |
def __str__(self): | |
return self.title | |
class Meta: | |
unique_together = ('title', 'preset') | |
class PresetStepProgress(models.Model): | |
"""Прогресс по шагу для конкретного ученика""" | |
step = models.ForeignKey(PresetStep, related_name='preset_progresses', on_delete=models.CASCADE) # Step 1 | |
learner = models.ForeignKey(Learners, related_name='preset_progresses', on_delete=models.CASCADE) # @username | |
def __str__(self): | |
return f"{self.step} of {self.learner}" | |
class Meta: | |
unique_together = ('step', 'learner') | |
class PresetStepCreditInformation(models.Model): | |
"""Информация о шаге для конкретного кредита""" | |
step = models.OneToOneField(PresetStep, on_delete=models.CASCADE) | |
credit = models.OneToOneField(Credits, on_delete=models.CASCADE) | |
description = models.CharField(max_length=255, blank=True, null=True) | |
def __str__(self): | |
return self.description | |
class PresetStepCredit(models.Model): | |
"""Кредит закрепленный к конкретному шагу конкретного ученика""" | |
progress = models.ForeignKey(PresetStepProgress, related_name='credits', on_delete=models.CASCADE) # @username's progress | |
credit = models.ForeignKey(Credits, on_delete=models.CASCADE) # Math | |
def __str__(self): | |
return f"{self.progress.learner}'s {self.credit.title}" | |
class Meta: | |
unique_together = ('progress', 'credit') | |
class PresetStepCreditEvidence(models.Model): | |
"""Доказательства прикреплённые к кредитам для конкретного шага конкретного ученика""" | |
credit = models.ForeignKey(PresetStepCredit, related_name='+', on_delete=models.CASCADE) # @username's Math | |
evidence = models.ForeignKey(Evidences, related_name='+', on_delete=models.CASCADE) # @username's evidences | |
def __str__(self): | |
return f'{self.evidence.title} for {self.credit.credit.title} uploaded by {self.credit.progress.learner.id.email}' | |
class Meta: | |
unique_together = ('credit', 'evidence') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment