class interview_manager(models.Model): # 운영진 들의 면접가능시간 저장하는 모델 run_time = models.PositiveIntegerField(default=0) rest_time = models.PositiveIntegerField(default=0) rf_id = models.CharField(max_length=15, default=None) manager = models.JSONField() objects = models.DjongoManager()
class DarwinBuffering(models.Model): interval = models.PositiveIntegerField( default=300, help_text=_( "Number of seconds to cache data before analysing the batch"), null=False) required_log_lines = models.PositiveIntegerField( default=10, help_text=_( "Minimal number of entries to require before launching analysis"), null=False) buffer_filter = models.ForeignKey("darwin.FilterPolicy", related_name="buffers", on_delete=models.CASCADE, null=True) destination_filter = models.ForeignKey("darwin.FilterPolicy", related_name="buffering", on_delete=models.CASCADE) def to_dict(self): return { "interval": self.interval, "required_log_lines": self.required_log_lines }
class recruit_basic_question(models.Model): number = models.PositiveIntegerField() basic = models.JSONField() optional = models.JSONField() club_id = models.IntegerField() user_id = models.PositiveIntegerField() rbq_id = models.CharField(unique=True, primary_key=True, max_length=15) objects = models.DjongoManager()
class Rating(models.Model): user = models.PositiveIntegerField() film = models.PositiveIntegerField() rating = models.FloatField(validators=[MinValueValidator(0.0), MaxValueValidator(5.0)]) objects = models.DjongoManager() def __str__(self): return str(self.user) + "->" + str(self.film) + "->" + str(self.rating)
class RadiusRepository(BaseRepository): """ Class used to represent RADIUS repository object radius_host: IP Address used to contact RADIUS server radius_port: Port used to contact RADIUS server radius_nas_id: NAS_ID of RADIUS server radius_secret: Secret used to authenticate client """ # Connection related attributes host = models.TextField(null=False, verbose_name=_('Host'), help_text=_('IP Address of RADIUS server')) port = models.PositiveIntegerField( verbose_name=_('Port'), default=1812, validators=[MinValueValidator(1), MaxValueValidator(65535)], help_text=_('Listening authentication port of RADIUS server')) nas_id = models.TextField(verbose_name=_('NAS_ID'), default="0", help_text=_('NAS_ID of the RADIUS server')) secret = models.TextField( verbose_name=_("Authentication secret"), help_text=_('Secret used to authenticate clients')) retry = models.PositiveIntegerField( verbose_name=_("Max retries to authenticate clients"), default=3, help_text=_('Max number of retries to contact Radius server')) timeout = models.PositiveIntegerField( verbose_name=_("Max timeout to authenticate clients"), default=2, help_text=_('Max timeout to contact Radius server')) def to_template(self): """ returns the attributes of the class """ return {'id': str(self.id), 'name': self.name} def to_html_template(self): """ Returns needed attributes for html rendering """ return { 'id': str(self.id), 'name': self.name, 'uri': "{}:{}".format(self.host, self.port), 'nas_id': self.nas_id, 'retry': self.retry, 'timeout': self.timeout } # Do NOT forget this on all BaseRepository subclasses def save(self, *args, **kwargs): self.subtype = "RADIUS" super().save(*args, **kwargs) def get_client(self): return RadiusClient(self)
class MsMsPeak(models.Model): id = models.PositiveIntegerField('Peak ID') ms_ms_id = models.PositiveIntegerField('Spectrum ID') mass_charge = models.FloatField('Mass charge') intensity = models.FloatField('Intensity') molecule_id = models.PositiveIntegerField('Molecule ID') class Meta: abstract = True
class BaseDataset(TimestampedModel): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=False) name = models.CharField(max_length=100) description = models.TextField(blank=True, default='') total_samples = models.PositiveIntegerField(default=0) total_classes = models.PositiveIntegerField(default=1) status = models.SmallIntegerField(choices=CHOICES_DS_STATUS, default=DEFAULT_DS_STATUS) labels = models.ListField(default=[]) class Meta: abstract = True
class Reference(models.Model): id = models.PositiveIntegerField('Reference ID') spectra_id = models.PositiveIntegerField('Spectra ID') spectra_type = models.TextField('Spectra type', max_length=10) pubmed_id = models.PositiveIntegerField('Pubmed ID') ref_text = models.TextField('Reference text', max_length=1000) database = models.TextField('Database', max_length=50) database_id = models.TextField('Database id', max_length=10) class Meta: abstract = True
class Pass_Fail(models.Model): type_choices = (("1", "면접전형"), ("2", "서류전형"), ("3", "면접+서류전형")) Type = models.CharField(max_length=15, choices=type_choices, default="1") ci_id = models.CharField(max_length=15) user_id = models.PositiveIntegerField() pass_fail_choices = (("1", "합격"), ("2", "불합격"), ("3", "보류"), ("4", "미결정")) pass_fail = models.CharField(max_length=10, choices=pass_fail_choices, default="1") detail = models.JSONField() pf_id = models.CharField(unique=True, primary_key=True, max_length=10) detail_type = models.PositiveIntegerField(default=0) objects = models.DjongoManager()
class FilterPolicy(models.Model): filter = models.ForeignKey(DarwinFilter, on_delete=models.CASCADE) policy = models.ForeignKey(DarwinPolicy, on_delete=models.CASCADE) enabled = models.BooleanField(default=False) nb_thread = models.PositiveIntegerField(default=5) log_level = models.TextField(default=DARWIN_LOGLEVEL_CHOICES[0][0], choices=DARWIN_LOGLEVEL_CHOICES) threshold = models.PositiveIntegerField(default=80) mmdarwin_enabled = models.BooleanField(default=False) mmdarwin_parameters = models.ListField(default=[]) """ Status of filter for each nodes """ status = models.DictField(default={}) cache_size = models.PositiveIntegerField( default=1000, help_text=_("The cache size to use for caching darwin requests."), verbose_name=_("Cache size")) """Output format to send to next filter """ output = models.TextField(default=DARWIN_OUTPUT_CHOICES[0][0], choices=DARWIN_OUTPUT_CHOICES) """ Next filter in workflow """ next_filter = models.ForeignKey('self', null=True, default=None, on_delete=models.SET_NULL) conf_path = models.TextField() config = models.DictField(default={}) @property def name(self): """ Method used in Darwin conf to define a filter """ return "{}_{}".format(self.filter.name, self.policy.id) def __str__(self): return "[{}] {}".format(self.policy.name, self.filter.name) @staticmethod def str_attrs(): return ['filter', 'conf_path', 'nb_thread', 'log_level', 'config'] @property def socket_path(self): return "{}/{}_{}.sock".format(SOCKETS_PATH, self.filter.name, self.policy.id) def mmdarwin_parameters_rsyslog_str(self): return str(self.mmdarwin_parameters).replace("\'", "\"")
class Project(models.Model): _id = models.ObjectIdField() github_id = models.PositiveIntegerField(null=True, blank=True) number = models.PositiveIntegerField() name = models.CharField(max_length=128) columns = models.ArrayField(model_container=ProjectColumn) repositories = models.ArrayReferenceField(to=Repository, on_delete=models.CASCADE) @property def github(self): return get_github_project(self.github_id) def __str__(self): return f"{self.name} ({self.number})"
class Spectrum(models.Model): type = models.TextField('Type', max_length=100) spectrum_id = models.PositiveIntegerField('Spectrum ID') class Meta: abstract = True
class Expense(models.Model): category = models.CharField(max_length=50) amunt = models.DecimalField(max_digits=5, decimal_places=2,blank=True,null=True) price = models.PositiveIntegerField(blank=True , null=True) array = models.ArrayField(model_container=ArrayFieldModel) embedded = models.EmbeddedField(model_container=EmbeddedFieldModel) imgs = models.JSONField(default=[])
class Identifier(models.Model): name = models.TextField('Name', max_length=50) id = models.PositiveIntegerField('ID', max_length=20) class Meta: abstract = True
class Stock(models.Model): minimo = models.PositiveIntegerField(default=1, blank=False, verbose_name="Cantidad mínima") optimo = models.PositiveIntegerField(default=1, blank=False, verbose_name="Cantidad óptima") actual = models.PositiveIntegerField(default=0, blank=False, verbose_name="Cantidad actual") def __unicode__(self): return self.actual class Meta: abstract = True
class GenericModel(models.Model): big_int = models.BigIntegerField() bool = models.BooleanField() char = models.CharField(max_length=20) comma_int = models.CommaSeparatedIntegerField() date = models.DateField() date_time = models.DateTimeField() decimal = models.DecimalField(max_digits=10, decimal_places=5) email = models.EmailField() float = models.FloatField() integer = models.IntegerField() null_bool = models.NullBooleanField() pos_int = models.PositiveIntegerField() pos_small_int = models.PositiveSmallIntegerField() slug = models.SlugField() small_int = models.SmallIntegerField() text = models.TextField() time = models.TimeField() url = models.URLField() ip = models.GenericIPAddressField() uuid = models.UUIDField() # TODO: add these # basic_file = models.FileField() # image = models.ImageField() objects = models.DjongoManager()
class TranslationMap(models.Model): class Meta: abstract = True source_place = models.PositiveIntegerField(null=True) coordinate = models.JSONField(max_length=2) translation = models.TextField()
class User(models.Model): group_choice = (('g1', '학생'), ('g2', '직장인'), ('g3', '일반인')) group = models.CharField(max_length=3, choices=group_choice, default="g1") name = models.CharField(max_length=15) education = models.JSONField() grader_choice = (("gr1", "1학년"), ("gr2", "2학년"), ("gr3", "3학년"), ("gr4", "4학년")) grader = models.CharField(max_length=4, choices=grader_choice, default="gr1") states_chocie = (("s1", "재학"), ("s2", "휴학"), ("s3", "졸업")) states = models.CharField(max_length=3, choices=states_chocie, default="s1") birthday = models.CharField(max_length=12) telephone = models.CharField(max_length=15) email = models.EmailField() address = models.TextField() self_image = models.CharField(max_length=10) date = models.DateField(auto_now_add=True) user_id = models.PositiveIntegerField(unique=True, primary_key=True) objects = models.DjongoManager() def __str__(self): return str(self.user_id)
class Books(models.Model): ''' This books represent all books created ''' name = models.CharField(max_length=100, blank=False) edition = models.PositiveIntegerField(blank=False) publication_year = models.PositiveIntegerField(blank=False) author = models.ManyToManyField(Authors, related_name='books', blank=False) def get_client(self): db = MongoClient(host=MONGO_HOST) client = db.librarybooks.core_books return client def __str__(self): return self.name
class MsMs(models.Model): collection_date = models.DateField('Collection date') collision_energy_level = models.TextField('Collision energy level', max_length=20) collision_energy_voltage = models.PositiveSmallIntegerField('Collision energy voltage') created_at = models.DateTimeField('Created at') database_id = models.TextField('Database id', max_length=20) # Energy field is null everywhere energy_field = models.TextField('Energy field', max_length=20, blank=True) id = models.PositiveIntegerField('Spectrum id') instrument_type = models.TextField('Instrument type', max_length=50) ionization_mode = models.TextField('Ionization mode', max_length=10) # Mono mass is null everywhere mono_mass = models.FloatField('Mono mass') ms_ms_peaks = models.EmbeddedField( model_container=MsMsPeakArray, blank=True ) notes = models.TextField('Notes', max_length=1000) peak_counter = models.PositiveIntegerField('Peak count') predicted = models.BooleanField('Is predicted?', default=False) references = models.EmbeddedField( model_container=ReferenceArray, blank=True ) sample_assessment = models.TextField('Sample assessment', max_length=20) sample_concentration = models.FloatField('Sample concentration') sample_concentration_units = models.TextField('Sample concentration units', max_length=10) sample_mass = models.FloatField('Sample mass') sample_mass_units = models.TextField('Sample mass units', max_length=10) # Sample source is null everywhere sample_source = models.TextField('Sample source', max_length=50) # Solvent is null everywhere solvent = models.TextField('Solvent', max_length=50) spectra_assessment = models.TextField('Spectra assessment', max_length=50) splash_key = models.TextField('Splash key', max_length=100) structure_id = models.PositiveIntegerField('Structure id') updated_at = models.DateTimeField('Updated at') class Meta: abstract = True
class Disease(models.Model): name = models.TextField('Name', max_length=200) omim_id = models.PositiveIntegerField('Omim ID', max_length=20) references = models.EmbeddedField(model_container=ReferenceArray) class Meta: abstract = True
class Influencer(commonInfo): _id = models.ObjectIdField() strategy = models.ForeignKey(Strategy, on_delete=models.CASCADE) influencer_instagram_id = models.CharField( max_length=255 ) # I don't really know in this moment if needed and the type de Instagram ID from API Oficial Instagram name = models.CharField( max_length=150) # Influencer name, it will be the @ on Instagram number_of_users_to_follow = models.PositiveIntegerField( default=0) # It represents how many users follow in the schedule days_has_to_pass_to_unfollow = models.PositiveIntegerField( default=0) # It sets how many days has to unfollow initial_time_to_follow = models.TimeField( ) # Initial hour to follow people final_time_to_follow = models.TimeField() # Final hour to follow people def __str__(self): return self.name
class Promocion(models.Model): descripcion = models.CharField(default='', blank=True, max_length=200, verbose_name="Descripción") productos = models.EmbeddedField(verbose_name="", model_container=ProductosPromocion) precio_promocional = models.PositiveIntegerField( default='', blank=False, verbose_name="Precio promocional")
class Word(commonInfo): _id = models.ObjectIdField() hashtag = models.ForeignKey(Hashtag, on_delete=models.CASCADE) order_in_sentence = models.PositiveIntegerField( default=0 ) # Zero is the first position of the sentence, This attribute represents the word's position in sentence content = models.CharField(max_length=30) def __str__(self): return self.content
class Genre(models.Model): id = models.PositiveIntegerField(primary_key=True) genreName = models.CharField(max_length=20) objects = models.DjongoManager() def __str__(self): return self.genreName def __getitem__(self, name): return getattr(self, name)
class CartItem(models.Model): product = models.ForeignKey(Product, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE) quantity = models.PositiveIntegerField(default=1, null=True, blank=True) class Meta: db_table = "cartitem" def __str__(self): return "{} - {} - {}".format(self.product, self.user, self.quantity)
class ParkingFees(models.Model): parking = ( ("self","self"), ("wallet","wallet") ) parking_type = models.CharField(max_length=10,choices=parking) cost = models.PositiveIntegerField() def __str__(self): return self.parking_type+"--"+str(self.cost)
class user_circle(models.Model): # club이랑 onetomany 해야함 # embedded 나중에...... user_id = models.PositiveIntegerField() states_choice = (("1", "모집안함"), ("2", "모집중"), ("3", "서류 진행"), ("4", "면접 진행"), ("5", "회비 입금 대기 중")) states = models.CharField(max_length=15, choices=states_choice, default="1") club_in = models.JSONField() objects = models.DjongoManager()
class Film(models.Model): id = models.PositiveIntegerField(primary_key=True) name = models.CharField(max_length=100) releaseDate = models.CharField(max_length=10000) country = models.CharField(max_length=200) img = models.CharField(max_length=2000) genres = models.ArrayField(model_container=Genre) objects = models.DjongoManager() def __str__(self): return self.name
class UserProfile(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='profile') avatar = models.ImageField(upload_to='profileAvatar', blank=True) university = models.CharField(max_length=70, blank=True) program = models.CharField(max_length=70, blank=True) gradYear = models.PositiveIntegerField(validators=[MinVal, MaxVal], blank=True) affiliation = models.CharField(max_length=70, blank=True) bio = models.CharField(max_length=500, blank=True)