class RepoMetadata(models.Model): # created_at = models.DateTimeField(auto_now_add=True, auto_now=False) # updated_at = models.DateTimeField(auto_now_add=False, auto_now=True) commit_no = models.IntegerField(null=False, default=1) project_name = models.CharField(max_length=50, null=False) repo_name = models.CharField(max_length=50, null=False) author_name = models.CharField(max_length=20, null=True) commit_id = models.CharField(max_length=50, null=True) commit_date = models.DateTimeField(auto_now=False) commit_message = models.CharField(max_length=200, null=True) files = models.CharField(max_length=3000, null=True) # date=models.dateTimeField() class Meta: db_table = 'repo_metadata' def __str__(self): return self.repo_name
class ArrayEntry(models.Model): # blog = models.EmbeddedModelField( # model_container=ArrayBlog, # model_form_class=BlogForm # ) # meta_data = models.EmbeddedModelField( # model_container=ArrayMetaData, # model_form_class=MetaDataForm # ) headline = models.CharField(max_length=255) # body_text = models.TextField() authors = models.ArrayModelField(model_container=ArrayAuthor, model_form_class=AuthorForm) n_comments = models.IntegerField(default=2) def __str__(self): return self.headline
class Attendee(models.Model): _id = models.ObjectIdField(primary_key=True) userId = models.CharField(_("userId"), max_length=255, blank=False, default="") gmtOffset = models.IntegerField() weekdayMorning = models.DateTimeField(auto_now_add=True, blank=True) weekdayEvening = models.DateTimeField(auto_now_add=True, blank=True) weekendMorning = models.DateTimeField(auto_now_add=True, blank=True) weekendEvening = models.DateTimeField(auto_now_add=True, blank=True) #devices = models.ArrayField( nextPush = models.DateTimeField(auto_now_add=True, blank=True) class Meta: db_table = "attendees" managed = False def __str__(self): return f'{self.userId},{self.weekdayMorning}'
class EmailSetting(models.Model): user = models.ForeignKey(User, default=1, null=True, on_delete=models.CASCADE) notification_email = models.EmailField(default="*****@*****.**") smtp_server = models.CharField(default="smtp.gmail.com", max_length=32) server_port = models.IntegerField(default=587) login = models.EmailField(default="*****@*****.**") password = models.CharField(default="login_password", max_length=32) def as_json(self): doc = { "notification_email": self.notification_email, "smtp_server": self.smtp_server, "server_port": self.server_port, "login": self.login, "password": self.password } return doc
class Club_introduce(models.Model): number = models.CharField(max_length=5, default=None) region = models.CharField(max_length=25, default=None) target_choice = (("t1", "대학생"), ("t2", "직장인"), ("t3", "일반인")) target = models.CharField(max_length=10, choices=target_choice, default="t1") time = models.CharField(max_length=10, default=None) mainURL = models.URLField(max_length=200, default=None) detail = models.JSONField(default=[]) poster = models.CharField(max_length=5, default=None) card_image = models.JSONField(default=[]) club_id = models.IntegerField(default=0) type_choice = (("1", "면접전형"), ("2", "서류전형"), ("3", "면접+서류전형")) types = models.CharField(max_length=20, choices=type_choice, default="1") ci_id = models.CharField(unique=True, primary_key=True, max_length=15, default=0) objects = models.DjongoManager()
class ServerConfig(models.Model): SERVERS = (("INFERENCE", "Inference Server"), ("CONVERSION", "Conversion Server")) server_name = models.CharField(max_length=16, choices=SERVERS) url = models.CharField(max_length=32, default="http://127.0.0.1") port = models.IntegerField(default=8001) def __str__(self): return "{} on {}:{}".format(self.server_name, self.url, self.port) def as_json(self): doc = { "server_name": self.server_name, "url": self.url, "port": self.port } return doc def full_url(self): return "{}:{}".format(self.url, self.port)
class Club(models.Model): cc_id = models.IntegerField(unique=True, primary_key=True, default=0) name = models.CharField(max_length=15) information = models.CharField(max_length=30, null=True) category_choice = (("c1", "학술"), ("c2", "예술"), ("c3", "친목"), ("c4", "스포츠"), ("c5", "여행"), ("c6", "종교"), ("c7", "봉사"), ("c8", "기타")) category = models.CharField(max_length=8, choices=category_choice, default="c1") foundationdate = models.JSONField(default=None) detail_information = models.TextField(max_length=300, default=None) self_image = models.CharField(max_length=10, default=None) card_image = models.JSONField(default=[]) telephone = models.CharField(max_length=15, default=None) email = models.EmailField(default=None) #status objects = models.DjongoManager() def __str__(self): return str(self.cc_id)
class Producto(models.Model): descripcion = models.CharField(max_length=40) nombre = models.CharField(max_length=50) alturaTacon = models.FloatField(null=True, blank=True, default=None) tipo = models.CharField(max_length=50) forro = models.CharField(max_length=50) tacon = models.CharField(max_length=50) capellada = models.CharField(max_length=50) alturaSuela = models.FloatField(null=True, blank=True, default=None) color = models.CharField(max_length=50) peso = models.FloatField(null=True, blank=True, default=None) marca = models.CharField(max_length=50) plantilla = models.CharField(max_length=50) suela = models.CharField(max_length=50) ocasion = models.CharField(max_length=50) talla = models.IntegerField(null=True, blank=True, default=None) precio = models.FloatField(null=True, blank=True, default=0.0) def __str__(self): return '%s %s %s %s %s %s' % (self.color, self.nombre, self.peso, self.alturaSuela, self.suela, self.precio)
class Activity(models.Model): _id = models.ObjectIdField(primary_key=True) userId = models.CharField(_("userId"), max_length=255, blank=False, default="") type = models.CharField(_("userId"), max_length=255, blank=False, default="") confidence = models.IntegerField() time = models.DateTimeField(auto_now_add=True, blank=True) resting = models.BooleanField(default=True) class Meta: db_table = "activities" managed = False def __str__(self): return f'{self.userId},{self.time}'
class Cliente(models.Model): nombre_apellido = models.CharField(max_length=200, verbose_name="Nombres y Apellidos", blank=False) ci_ruc = models.CharField(max_length=15, verbose_name="C.I./R.U.C.", blank=False) dig_verif = models.IntegerField(verbose_name="DIV", blank=True) tel_nro = models.CharField(max_length=20, verbose_name="Número de Teléfono", default='', blank=True) direccion = models.CharField(max_length=200, verbose_name="Dirección part.", default='', blank=True) email = models.EmailField(max_length=50, verbose_name="E-mail", default='', blank=True)
class GTRCategory(models.Model): class Meta: verbose_name_plural = "GtR Categories" verbose_name = "GtR Category" sid = models.CharField(max_length=255, null=True, blank=True, default='') name = models.CharField(max_length=255) percentage = models.IntegerField(null=True, blank=True, default=0) isHECategory = models.BooleanField(null=False, default=False) objects = models.DjongoManager() def areas_as_list(self): # Reverse lookup s = '' for g in HEResearchArea.objects.filter(gtrs__id=self.id): s = s + str(g.name) + " , " return str(s) def __str__(self): return str(str(self.id) + "> " + self.name)
class DefenderProcessRule(models.Model): job_id = models.TextField() expiration_date = models.DateTimeField(auto_now_add=True) rule_id = models.IntegerField() rule_key = models.TextField(default="") data = models.DictField(default={}) objects = models.DjongoManager() def __init__(self, *args, ** kwargs): DefenderProcessRule.objects._client.ensure_index('expiration_date', expireAfterSeconds=10 * 60) super(DefenderProcessRule, self).__init__(*args, **kwargs) def to_dict(self): return { "job_id": self.job_id, "expiration_date": self.expiration_date, "rule_id": self.rule_id, "rule_key": self.rule_key, "data": self.data }
class Cafe(mongo_models.Model): _id = mongo_models.CharField(max_length=512) create_dt = mongo_models.DateTimeField() update_dt = mongo_models.DateTimeField() data_id = mongo_models.IntegerField() start_hours = mongo_models.CharField(max_length=512) end_hours = mongo_models.CharField(max_length=512) location = mongo_models.EmbeddedField(model_container=Location, null=True, blank=True) name = mongo_models.CharField(max_length=512) parcel_addr = mongo_models.CharField(max_length=512) phone = mongo_models.CharField(max_length=32) road_addr = mongo_models.CharField(max_length=512) tags = mongo_models.CharField(max_length=512) objects = mongo_models.DjongoManager() class Meta: app_label = 'MongoDB' db_table = 'cafe'
class Movie(models.Model): movie_name = models.CharField(max_length=255) movie_poster = models.URLField() #! Should use image field genre = models.ManyToManyField(Genre) description = models.CharField(max_length=255) trailer_link = models.URLField() #! Should use File filed movie_link = models.URLField() #! Should use File field movie_length = models.TimeField() cast = models.ArrayField( model_container=Cast) #? Don't now if array field work for image. language = models.ManyToManyField(Language) aired = models.DateField() review_ID = models.IntegerField() rating_info = models.FloatField() production_Company = models.CharField(max_length=255) gallery = models.ManyToManyField(Gallery) objects = models.DjongoManager() def __str__(self): return self.movie_name
class Elevator(models.Model): unit_number = models.CharField(max_length=10, blank=True, verbose_name='梯号') tsb_regcode = models.CharField(max_length=20, blank=True, verbose_name='TSB电梯识别码') unit_regcode = models.CharField(max_length=50, blank=True, verbose_name='设备注册代码') branch = models.IntegerField(choices=branch, blank=True, null=True, verbose_name='分公司') city = models.ForeignKey(TSBCity, null=True, on_delete=models.CASCADE, verbose_name='城市') def __str__(self): return self.unit_number
class Lembrete(models.Model): options = [ ('d', 'Diário'), ('s', 'Semanal'), ('m', 'Mensal'), ] objects = models.Manager() titulo = models.CharField(max_length=200) mensagem = models.TextField() url_name = models.CharField(max_length=100) periodicidade = models.CharField(max_length=2, choices=options) dia = models.IntegerField( validators=[MinValueValidator(1), MaxValueValidator(31)], help_text="Semanal: indique o dia da semana(0=domingo, 1=segunda,...). Mensal: caso não haja tal dia em algum mês(30, 31), o lembrete será exibido no último dia do mês" ) mostrado_esse_mes = models.BooleanField(default=False) criado_em = models.DateTimeField(auto_now_add=True) modificado_em = models.DateTimeField(auto_now=True) @property def is_valid(self): is_valid = False hoje = timezone.now() weekday = hoje.weekday() if not self.mostrado_esse_mes: # aqui a lógica muda dependendo da periodicidade if self.periodicidade == 'm': if weekday >= self.dia: is_valid = True elif self.periodicidade == 's': if self.dia <= weekday < 6: is_valid = True elif self.periodicidade == 'd': if hoje.hour == self.day: is_valid = True return is_valid class Meta: ordering = ['dia']
class Question(models.Model): _id = models.ObjectIdField() formulation = models.CharField('Формулировка вопроса', max_length=1_000) multiselect = models.BooleanField('Вопрос с мультивыбором') tasks_num = models.IntegerField('Число вариантов ответа') test = models.ForeignKey(Test, verbose_name='Тест', related_name='questions', on_delete=models.CASCADE, default=DEFAULT_TEST_ID) options = models.ArrayField(model_container=QuestionOption) type = models.CharField('Тип вопроса', max_length=50) objects = models.DjongoManager() @property def object_id(self): return self._id @classmethod def parse_options(cls, options: List[Dict[str, Any]]) -> List[Dict[str, Any]]: return [{ 'option': option['option'], 'is_true': option['is_true'], 'num': option.get('num') } for option in options] class Type: """ Class for storing various questions types """ REGULAR = '' WITH_IMAGES = 'image' SEQUENCE = 'sequence' SEQUENCE_WITH_IMAGES = 'sequence-image' class Meta: db_table = 'questions' verbose_name = 'Вопрос' verbose_name_plural = 'Вопросы'
class Container(models.Model): title = models.CharField(max_length=100) enabled = models.BooleanField(default=True) mode = models.IntegerField(default=QUIET_MODE) private = models.BooleanField( default=False ) # if is private you have to check the authorization group authorization_group = None authors = models.OneToOneField( to=Author, on_delete=models.CASCADE, ) date_creation = models.DateTimeField(auto_now_add=True) sentences = models.ArrayModelField(model_container=Collection, ) created_on_datetime = models.DateField() last_edit_datetime = models.DateField() def __str__(self): return self.title
class Plasmid(models.Model): id = models.CharField(primary_key=True, max_length=100) assembly = models.OneToOneField( Assembly, on_delete=models.CASCADE, ) num_found = models.IntegerField() profile = models.ArrayField(model_container=Plasmidhit) owner = models.ForeignKey(Account, related_name="plasmids", on_delete=models.CASCADE) DateCreated = models.DateTimeField(verbose_name='date created', auto_now=True) LastUpdate = models.DateTimeField(verbose_name='last update', auto_now=True) Description = models.TextField() objects = models.DjongoManager() def __str__(self): return str(self.id)
class Entry(models.Model): blog = models.EmbeddedModelField(model_container=Blog, # model_form_class=BlogForm ) meta_data = models.EmbeddedModelField(model_container=MetaData, ) headline = models.CharField(max_length=255) body_text = models.TextField() # authors = models.ManyToManyField(Author) authors = models.ArrayModelField(model_container=Author, ) n_comments = models.IntegerField() # Failed!!! # test_int_list = models.ArrayModelField( # model_container=models.IntegerField(), default=None, blank=True, null=True, # ) def __str__(self): return self.headline
class Client(AbstractUser): _id = models.ObjectIdField() first_name = models.CharField(max_length=20, default="Anonymous") middle_name = models.CharField(max_length=20, blank=True, default="") last_name = models.CharField(max_length=20, default="") email = models.EmailField( verbose_name="email", max_length=70, unique=True, blank=False ) phone = models.CharField(max_length=10, blank=True, default="") security_code = models.CharField(max_length=6, blank=True) street = models.CharField(max_length=150, blank=True, default="") city = models.CharField(max_length=50, blank=True, default="") state = models.CharField(max_length=50, blank=True, default="") zip_code = models.CharField(max_length=6, blank=True, default="") username = None created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) session_token = models.CharField(max_length=10, default=0) status = models.IntegerField(blank=True, default=0) id_proof = models.FileField(storage=GridFSStorage(collection='id_proof'), null=True, blank=True) letter_sub_url = models.URLField(max_length=500, blank=True, default='') rzp_customer_id = models.CharField(max_length=500, blank=True, default='') USERNAME_FIELD = "email" REQUIRED_FIELDS = [] @property def full_name(self): return '%s %s %s' % (self.first_name, self.middle_name, self.last_name) def __str__(self): return self.email
class Recipe(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(max_length=300, null=False, default=None) description = models.TextField(null=False, default=None) instructions = models.TextField(null=False, default=None) ingredients = models.ArrayField(model_container=Ingredient, ) image_url = models.URLField(default=None) course_type = models.CharField(max_length=150, null=False, default=None) difficulty = models.CharField(max_length=100) cooking_method = models.CharField(max_length=150, null=False, default=None) cost = models.CharField(max_length=100) is_vegetarian = models.BooleanField(null=True) n_reviews = models.IntegerField(default=0) average_rating = models.FloatField(default=0) objects = models.DjongoManager() def __str__(self): return self.name def get_absolute_url(self): return reverse("recipe_detail", args=[self.id])
class Transaction(models.Model): scenario = models.ForeignKey(Scenario, on_delete=models.CASCADE) Name = models.CharField(max_length=100) Timestamp = models.BigIntegerField(default=0) Avg_time = models.FloatField(default=0) Txs_count = models.IntegerField(default=0) Type = models.CharField(max_length=100) # VuserGroup = models.CharField(max_length=100) # Type = models.IntegerField(default=0) # StartTime = models.FloatField(default=0.0) # EndTime = models.FloatField(default=0.0) # AverageTime = models.FloatField(default=0.0) # ThinkTime = models.FloatField(default=0.0) # WastedTime = models.FloatField(default=0.0) # Status = models.IntegerField(default=0) # InstanceHandle = models.BigIntegerField(default=0) # ParentHandle = models.BigIntegerField(default=0) # VuserID = models.IntegerField(default=0) def __str__(self): return self.Name
class CoffeeMachine(models.Model): TYPE_CHOICES = (('CM1', 'COFFEE_MACHINE_LARGE'), ('CM0', 'COFFEE_MACHINE_SMALL'), ('EM0', 'ESPRESSO_MACHINE')) MODEL_CHOICES = ((1, 'BASE_MODEL'), (2, 'PREMIUM_MODEL'), (3, 'DELUXE_MODEL')) product_type = models.CharField(choices=TYPE_CHOICES, max_length=3) water_line_compatible = models.BooleanField() model_type = models.IntegerField(choices=MODEL_CHOICES) sku = models.CharField(editable=False, max_length=5, blank=True) def save(self, *args, **kwargs): _sku = self.product_type + '0' + str(self.model_type) self.sku = _sku super(CoffeeMachine, self).save(*args, **kwargs) def __str__(self): return self.sku
class UserProfileInfo(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) age = models.IntegerField( validators=[MaxValueValidator(100), MinValueValidator(1)]) gender_choice = [('M', 'Male'), ('F', 'Female'), ('O', 'Other')] c = list(ci) name = [] for i in c: name.append(i.name) country_choice = [(x, x) for x in name] gender = models.CharField(max_length=1, choices=gender_choice) country = models.CharField(max_length=100, choices=country_choice) occupation = models.CharField(max_length=100) social = models.IntegerField(default=0) entertainment = models.IntegerField(default=0) ecommerce = models.IntegerField(default=0) education = models.IntegerField(default=0) transport = models.IntegerField(default=0) food = models.IntegerField(default=0) mail = models.IntegerField(default=0) def __str__(self): return self.user.username
class Post(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True) title = models.CharField(max_length=70) author = models.ForeignKey('userAuth.User', null=True, on_delete=models.SET_NULL, editable=False, related_name='post') dateTimePosted = models.DateTimeField(auto_now_add=True, editable=False) dateTimeEdited = models.DateTimeField(auto_now=True, null=True) course = models.ForeignKey('Course', on_delete=models.CASCADE, related_name='post') content = models.OneToOneField(Content, on_delete=models.CASCADE, related_name='post') comments = models.ArrayReferenceField(to='Comment', on_delete=models.SET_NULL, blank=True, null=True, related_name='+') points = models.IntegerField(default=0) likers = models.ArrayReferenceField(to='userAuth.User', on_delete=models.SET_NULL, blank=True, null=True, related_name='+') dislikers = models.ArrayReferenceField(to='userAuth.User', on_delete=models.SET_NULL, blank=True, null=True, related_name='+') def __str__(self): return "{}: {}".format(self.title, self.contentType)
class OrderItem(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) ordered = models.BooleanField(default=False) product = models.ForeignKey(Product, on_delete=models.CASCADE) quantity = models.IntegerField(default=1) def __str__(self): return f"{self.quantity} of {self.product.name}" def get_total_price(self): return self.quantity * self.product.price def get_total_discount_price(self): return self.quantity * self.product.discount_price def get_amount_saved(self): return self.get_total_price() - self.get_total_discount_price() def get_final_price(self): if self.product.discount_price: return self.get_total_discount_price() return self.get_total_price()
class Entry(models.Model): 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() authors = models.ManyToManyField(Author) rating = models.IntegerField() featured_image = models.ImageField(upload_to='entries', storage=gridfs_storage) def __str__(self): return self.headline def get_absolute_url(self): return reverse('detail', args=(str(self.pk))) def save(self, *args, **kwargs): """ on save, update timestamps, instead of auto_now field args """ if not self.pk: self.pub_date = timezone.now() self.mod_date = timezone.now() return super().save(*args, **kwargs)
class MusicMaps(models.Model): class OpenRange(models.IntegerChoices): PUBLIC = 0, 'Public' FOLLOW = 1, 'Follow' FOLLOW_BACK = 2, 'Follow Back' # 맞팔로우 PRIVATE = 4, 'Private' images = models.ArrayField(model_container=Image) content = models.TextField() date_created = models.DateTimeField(verbose_name='Date Created', default=timezone.now) date_updated = models.DateTimeField(verbose_name='Date Updated', default=timezone.now) open_range = models.IntegerField(choices=OpenRange.choices) comments_on = models.BooleanField() author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='author') memorize_users = models.ArrayReferenceField(to=User, on_delete=models.CASCADE, related_name='memorize_users') location = models.EmbeddedField(model_container=Location) comments = models.ArrayReferenceField(to=Comment, on_delete=models.CASCADE) playlist = models.ArrayReferenceField(to=Music, on_delete=models.CASCADE) street_address = models.CharField(max_length=200) building_number = models.CharField(max_length=30) class Meta: ordering = ("date_updated", ) @property def memorize_count(self): return self.memorize_users.all().count() @property def comments_count(self): return self.comments.all().count()
class LedgerData(models.Model): class Meta: ordering = ['l_r_date', 'id'] unique_together = ('user', 'l_r_no') user = models.ForeignKey(User, on_delete=models.CASCADE) l_r_no = models.CharField(max_length=255) l_r_date = models.DateField(blank=True, null=True) bale_no = models.CharField(blank=True, null=True, max_length=255) supplier = models.CharField(blank=True, null=True, max_length=255) location = models.CharField(blank=True, null=True, max_length=255) item = models.CharField(blank=True, null=True, max_length=255) pcs_mtr = models.FloatField(blank=True, null=True) price = models.FloatField(default=0, blank=True) weight = models.CharField(blank=True, null=True, max_length=255) frieght = models.FloatField(blank=True, null=True) transport = models.CharField(blank=True, null=True, max_length=255) delivery = models.DateField(blank=True, null=True) reciept = models.CharField(blank=True, null=True, max_length=255) remark = models.CharField(blank=True, null=True, max_length=255) status = models.BooleanField(default=False) hsn_code = models.CharField(blank=True, null=True, max_length=255) bill_ammount = models.FloatField(blank=True, null=True) no_of_bale = models.IntegerField(default=1, blank=True) def __str__(self): return f'{self.user} - {self.l_r_no}' def save(self, *args, **kwargs): if self.pcs_mtr and self.bill_ammount and self.frieght: self.price = (self.bill_ammount+self.frieght)/self.pcs_mtr self.price = round(self.price, 2) if self.reciept!=None and self.delivery!=None: self.status= True super(LedgerData, self).save(*args, **kwargs)