class dataset(models.Model): _id = models.ObjectIdField() post_title = models.CharField(max_length=255) data_title = models.CharField(max_length=255) tags = models.JSONField() user_details = models.JSONField() objects = models.DjongoManager()
class County(models.Model): stateid = models.IntegerField() statename = models.CharField(max_length=200) countyname = models.CharField(max_length=200) countyngram = models.TextField(blank=True) objects = models.DjongoManager()
class Seqstat(models.Model): id = models.CharField(primary_key=True, max_length=100) r_Reads = models.IntegerField(null=True, blank=True) r_Yield = models.IntegerField(null=True, blank=True) r_GeeCee = models.FloatField(null=True, blank=True) r_MinLen = models.IntegerField(null=True, blank=True) r_AvgLen = models.IntegerField(null=True, blank=True) r_MaxLen = models.IntegerField(null=True, blank=True) r_AvgQual = models.FloatField(null=True, blank=True) r_ErrQual = models.FloatField(null=True, blank=True) r_Ambiguous = models.FloatField(null=True, blank=True) q_Reads = models.IntegerField(null=True, blank=True) q_Yield = models.IntegerField(null=True, blank=True) q_GeeCee = models.FloatField(null=True, blank=True) q_MinLen = models.IntegerField(null=True, blank=True) q_AvgLen = models.IntegerField(null=True, blank=True) q_MaxLen = models.IntegerField(null=True, blank=True) q_AvgQual = models.FloatField(null=True, blank=True) q_ErrQual = models.FloatField(null=True, blank=True) q_Ambiguous = models.FloatField(null=True, blank=True) owner = models.ForeignKey(Account, related_name="seqstats", on_delete=models.CASCADE, null=True) objects = models.DjongoManager() def __str__(self): return str(self.id)
class SubjectModel(models.Model): _id = models.ObjectIdField() name = models.CharField(max_length=100) genre = models.CharField(max_length=50) date_created = models.DateTimeField(default=now) author = models.EmbeddedField(model_container=Authors) objects = models.DjongoManager()
class VideoTag(models.Model): _id = models.ObjectIdField(primary_key=True) tid = models.IntegerField() pubdate = models.IntegerField() # tag_id = ObjectIdField() tag_id = models.BinaryField(max_length=12) aids = models.ListField(models.IntegerField()) avg_stat_view = models.IntegerField() avg_stat_danmaku = models.IntegerField() avg_stat_reply = models.IntegerField() avg_stat_favorite = models.IntegerField() avg_stat_coin = models.IntegerField() avg_stat_share = models.IntegerField() avg_stat_like = models.IntegerField() avg_stat_dislike = models.IntegerField() objects = models.DjongoManager() class Meta: db_table = 'video_tag' indexes = [ models.Index(fields=[ '_id', ]), ] constraints = [ models.UniqueConstraint(fields=[ 'tid', 'pubdate', 'tag_id', ], name='unique_tid_pubdate_tagid') ]
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 TestResult(models.Model): _id = models.ObjectIdField() is_running = models.BooleanField('Тест еще запущен') comment = models.TextField('Комментарий преподавателя', default='') date = models.DateTimeField('Время запуска тестирования', default=timezone.now) launched_lecturer = models.ForeignKey( settings.AUTH_USER_MODEL, null=True, verbose_name='Пользователь, запустивный тест', related_name='testing_results', on_delete=models.SET_NULL) test = models.ForeignKey(Test, null=True, verbose_name='Тест', related_name='testing_results', on_delete=models.SET_NULL) subject = models.ForeignKey(Subject, null=True, verbose_name='Предмет', related_name='testing_results', on_delete=models.SET_NULL) objects = models.DjongoManager() @property def object_id(self): return self._id class Meta: db_table = 'main_tests_results' verbose_name = 'Результат тестирования' verbose_name_plural = 'Результаты тестирований'
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 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 HEResearchArea(models.Model): class Meta: verbose_name_plural = "HE Research Areas" verbose_name = "HE Research Area" hecategory = models.ForeignKey(HECategory, on_delete=models.CASCADE) name = models.CharField(max_length=255) gtrs = models.ArrayReferenceField(to=GTRCategory, on_delete=models.CASCADE, null=True, blank=True) objects = models.DjongoManager() def gtr_as_list(self): # Children query s = '' for g in self.gtrs.all(): s = s + str(g.name) + " , " return str(s) def children(self): return str(self.gtrs.all().count()) def __str__(self): return str(str(self.id) + "> " + self.name)
class Servicio(models.Model): nombre = models.CharField(max_length=255, blank=False) fecha = models.DateField() objects = models.DjongoManager() def __str__(self): return '%s' % self.nombre
class Entry(models.Model): #blog = models.EmbeddedField(model_container=Blog) # #blog = models.EmbeddedField(model_container=Blog,model_form_class=BlogForm) blog = models.ForeignKey(Blog, on_delete=models.CASCADE) headline = models.CharField(max_length=255) body_text = models.TextField() pub_date = models.DateField() mod_date = models.DateField(default=datetime.now, ) authors = models.ArrayReferenceField( to=Author, on_delete=models.CASCADE, ) n_comments = models.IntegerField(null=True, blank=True) n_pingbacks = models.IntegerField(null=True, blank=True) rating = models.IntegerField(null=True, blank=True) objects = models.DjongoManager() class Meta: '' #indexes = [TextIndex(fields=['headline', ])] #constraints = [CheckConstraint(check=Q(author_age__gte=18), name='age_gte_18')] def __str__(self): return self.headline
class Client(models.Model): _id = models.ObjectIdField(default=None) username = models.CharField(max_length=64) email = models.CharField(max_length=200, default="") memberships = models.DictField(default={}) objects = models.DjongoManager()
class Port(models.Model): _id = models.ObjectIdField() tx_dropped = models.IntegerField() rx_packets = models.IntegerField() rx_crc_err = models.IntegerField() tx_bytes = models.IntegerField() rx_dropped = models.IntegerField() port_no = models.IntegerField() rx_over_err = models.IntegerField() rx_frame_err = models.IntegerField() rx_bytes = models.IntegerField() tx_errors = models.IntegerField() duration_nsec = models.IntegerField() collisions = models.IntegerField() duration_sec = models.IntegerField() rx_errors = models.IntegerField() tx_packets = models.IntegerField() curr = models.IntegerField() name = models.CharField(max_length=60) mac_addr = models.CharField(max_length=60) created_at = models.DateTimeField(auto_now_add=True) objects = models.DjongoManager() def __str__(self): return self.name
class Site(models.Model): sitename = models.CharField(max_length=200) sitedisplayname = models.CharField(max_length=200, blank=True) organizationname = models.CharField(max_length=200, blank=True) sitedescription = models.TextField(blank=True) siteauthor = models.CharField(max_length=200, blank=True) facebookurl = models.TextField(blank=True) twitterusername = models.CharField(max_length=200, blank=True) linkedinurl = models.TextField(blank=True) searchroute = models.TextField(blank=True) logoroute = models.TextField(blank=True) logowidth = models.IntegerField(default=104) logoheight = models.IntegerField(default=39) templateid = models.IntegerField() sitemetas = models.TextField(blank=True) sitelinks = models.TextField(blank=True) sitescripts = models.TextField(blank=True) sitestyle = models.TextField(blank=True) siteheader = models.TextField(blank=True) sitefooter = models.TextField(blank=True) sitenotes = models.TextField(blank=True) blogcategory = models.CharField(max_length=200, blank=True) national = models.BooleanField(default=True) shortcodes = models.ArrayField(model_container=Shortcode, model_form_class=ShortcodeForm, blank=True) location = models.EmbeddedField(model_container=Location, model_form_class=LocationForm, blank=True) pages = models.ArrayField(model_container=Page, model_form_class=PageForm) objects = models.DjongoManager()
class UserData(models.Model): user = models.OneToOneField(User, on_delete=models.PROTECT) name = models.CharField(max_length=254) surname = models.CharField(max_length=254) current_cvs = models.ArrayField(model_container=Cv) objects = models.DjongoManager()
class NullArrayContainerModel(models.Model): _id = models.ObjectIdField() nullable_list = models.ArrayField(model_container=EmbedModel, blank=True, null=True) objects = models.DjongoManager()
class University(models.Model): name = models.CharField(max_length=254) address = models.EmbeddedField(model_container=Address) objects = models.DjongoManager() def str(self): return self.name
class RunningTestsAnswers(models.Model): _id = models.ObjectIdField() test_duration = models.IntegerField('Длительность теста') start_date = models.DateTimeField('Время запуска теста', default=timezone.now) test = models.ForeignKey(Test, null=True, verbose_name='Запущенный тест', related_name='right_answers', on_delete=models.SET_NULL, default=DEFAULT_TEST_ID) user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, verbose_name='Пользователь, проходящий тест', related_name='right_answers', on_delete=models.SET_NULL, default=DEFAULT_AUTHOR_ID) right_answers = models.ArrayField(model_container=QuestionRightAnswer) objects = models.DjongoManager() @property def time_left(self) -> float: delta = timezone.now() - self.start_date return self.test_duration - delta.total_seconds() class Meta: db_table = 'main_running_tests_answers' verbose_name = 'Ответы за запущенные тесты' verbose_name_plural = 'Ответы за запущенные тесты'
class LectureGroups(models.Model): user = models.ForeignKey(AUTH_USER_MODEL, models.PROTECT, blank=False, null=False) groups_list = models.ArrayReferenceField(to=Group, on_delete=models.PROTECT, blank=True, null=True) objects = models.DjongoManager() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs)
class order(models.Model): buyer = models.ForeignKey(buyers, on_delete=models.CASCADE, related_name='buyer_id_order') product = models.ForeignKey(product, on_delete=models.SET_NULL, null=True, related_name='product_id_order') date_of_order = models.DateTimeField() told_date_of_order = models.DateTimeField() date_of_delivery = models.DateTimeField() order_details = models.EmbeddedField( model_container=order_details_abs, model_form_class=order_details_abs_form) quantity = models.IntegerField(null=False) total_price = models.TextField() payment_status = models.BooleanField(default=False) delivery_status = models.BooleanField(default=False) loan_status = models.BooleanField(default=False) loan_amount = models.IntegerField(default=None) cancel_status = models.BooleanField(default=False) cancel_date = models.DateTimeField() objects = models.DjongoManager()
class State(models.Model): statename = models.CharField(max_length=200) stateacronym = models.CharField(max_length=5, blank=True) statengram = models.TextField(blank=True) objects = models.DjongoManager()
class Tasks(models.Model): # 记录异步任务的信息 _id = models.ObjectIdField(primary_key=True) task_id = models.CharField(max_length=36) task_type = models.IntegerField() # 0为爬虫,1为处理器 tid = models.IntegerField() time_from = models.IntegerField() time_to = models.IntegerField() time_start = models.IntegerField() # 任务创建时间 time_end = models.IntegerField() # 任务结束时间,默认为-1 objects = models.DjongoManager() class Meta: db_table = 'tasks' indexes = [ models.Index(fields=[ '_id', ]), models.Index(fields=[ 'time_start', ]), ] constraints = [ models.UniqueConstraint(fields=['task_id'], name='unique_task_id'), ]
class Category(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=255) objects = models.DjongoManager() def __str__(self): return self.name
class Flow(models.Model): _id = models.ObjectIdField() check_id = models.CharField(max_length=24) switch_name = models.CharField(max_length=50) priority = models.IntegerField() duration_sec = models.IntegerField() hard_timeout = models.IntegerField() byte_count = models.IntegerField() length = models.IntegerField() actions = models.EmbeddedField( model_container=Actions, ) duration_nsec = models.IntegerField() packet_count = models.IntegerField() idle_timeout = models.IntegerField() cookie = models.IntegerField() flags = models.IntegerField() table_id = models.IntegerField() match = models.EmbeddedField( model_container=Match, ) created_at = models.DateTimeField(auto_now_add=True) objects = models.DjongoManager() def __str__(self): return self.switch_name
class Post(models.Model): id = models.AutoField(primary_key=True) category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='posts') title = models.CharField(max_length=255) # title_vn = models.CharField(max_length=255) content = models.TextField() # content_vn = models.TextField() created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) thumbnail = models.TextField(null=True) author = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, related_name='posts', default=1) author_username = models.CharField(max_length=100, default="admin") # publish = models.DateTimeField(auto_now=False, auto_now_add=False) likes = models.ManyToManyField(get_user_model()) objects = models.DjongoManager() hidden = models.BooleanField(default=False) flag = models.BooleanField(default=False) def __str__(self): return f'{self.title}'
class Log(models.Model): path_info = models.CharField(max_length=200) event_name = models.CharField(max_length=200) page_title = models.CharField(max_length=200) visited_by = models.CharField(max_length=100) ip_address = models.GenericIPAddressField() datetime = models.DateTimeField() referrer = models.CharField(max_length=500) browser_family = models.CharField(max_length=100) browser_version = models.CharField(max_length=20) os_family = models.CharField(max_length=100) os_version = models.CharField(max_length=20) device_family = models.CharField(max_length=100) device_type = models.CharField(max_length=50) latitude = models.FloatField() longitude = models.FloatField() country = models.CharField(max_length=100) region = models.CharField(max_length=5) city = models.CharField(max_length=100) def __str__(self): return "Website Log Object" class Meta: db_table = 'website_logs' objects = models.DjongoManager()
class GamePlay(models.Model): room_id = models.IntegerField(primary_key=True) players = models.JSONField() objects = models.DjongoManager() def __str__(self): return str(self.players)
class Match(models.Model): slug = models.SlugField(primary_key=True) scheduled = models.DateTimeField() event = models.CharField(max_length=255, null=True, blank=True) group = models.CharField(max_length=2, null=True) playoff = models.BooleanField(default=False) winner = models.CharField(max_length=255, null=True) timestamp = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) objects = models.DjongoManager() class Meta: ordering = ['event', 'group', 'scheduled'] unique_together = ['scheduled', 'event', 'group'] def __str__(self): if self.playoff: return "{}: playoff match {}".format(self.event, self.matchmeta.__str__()) return "{}, {}: match {}".format(self.event, self.group, self.matchmeta.__str__()) @property def is_winner(self): return True if self.winner else False
class Enrolled(models.Model): student = models.ForeignKey(AUTH_USER_MODEL, models.PROTECT, blank=False, null=False) inattendances_list = models.ArrayField(model_container=Inattendance, default=[], blank=False, null=False) marks_list = models.ArrayField(model_container=Mark, default=[], blank=False, null=False) final_grade = models.FloatField(blank=True, null=True) objects = models.DjongoManager() # class Meta: # abstract = True def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) def add_mark(self, value=0, max_points=0, for_what="", note=""): self.marks_list.append( Mark(value=value, max_points=max_points, for_what=for_what, note=note))