class ProposedNews(models.Model): title = models.CharField(max_length=50) title_image = models.ImageField(default='none') short_description = models.CharField(max_length=200, default='Description') content = HTMLField() pub_date = models.DateTimeField(default=datetime.now(), blank=True) important_status = models.BooleanField( default=False, help_text='Are this news important or not') views = models.IntegerField(default=0, editable=False) tags = models.ManyToManyField(NewsTag) user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) class Meta: ordering = ['-pub_date'] verbose_name = 'Proposed news' verbose_name_plural = 'Proposed news' def __str__(self): return self.title
class Profile(models.Model): profile_photo = models.ImageField(upload_to='images') bio = HTMLField() user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True) def __str__(self): return self.profile_photo.url def save_profile(self): self.save() def delete_profile(self): self.delete() @classmethod def update_bio(cls, id, new_bio): cls.objects.filter(pk=id).update(bio=new_bio) new_bio_object = cls.objects.get(bio=new_bio) new_bio = new_bio_object.bio return new_bio
class Article(models.Model): title = models.CharField(max_length=60) post = HTMLField() editor = models.ForeignKey(User, on_delete=models.CASCADE) tags = models.ManyToManyField(tags) pub_date = models.DateTimeField(auto_now_add=True) article_image = models.ImageField('image', blank=True) @classmethod def todays_news(cls): today = dt.date.today() news = cls.objects.filter(pub_date__date=today) return news @classmethod def days_news(cls, date): news = cls.objects.filter(pub_date__date=date) return news @classmethod def search_by_title(cls, search_term): news = cls.objects.filter(title__icontains=search_term) return news
class PostInfo(models.Model): title = models.CharField(max_length=255, unique=True, default=None) postId = models.UUIDField(primary_key=True, default=uuid.uuid1, editable=False) authorId = models.CharField(max_length=255, default=None, editable=False) category = models.ForeignKey(Categorie, on_delete=models.CASCADE, default=None) tags = models.CharField(max_length=255, default=None) body = HTMLField() featured_image = OptimizedImageField(upload_to="featured_image", optimized_image_output_size=(788, 450), optimized_image_resize_method='cover', blank=True, null=True) meta_title = models.CharField(max_length=60, null=True, blank=True) slug = models.SlugField(max_length=75, unique=True, null=True, blank=True) meta_description = models.CharField(max_length=160, null=True, blank=True) class Meta: abstract = True
class Profile(models.Model): avatar = models.ImageField(upload_to='photos/',null=True) fullname = models.CharField(max_length=255,null=True) username = models.OneToOneField(User,on_delete=models.CASCADE,related_name='profile') bio = HTMLField(null=True) email = models.EmailField(null=True) @receiver(post_save, sender=User) def create_user_profile(sender, instance, created, **kwargs): if created: Profile.objects.create(username=instance) @receiver(post_save, sender=User) def save_user_profile(sender, instance, **kwargs): instance.profile.save() def __str__(self): return self.username.username @classmethod def search_profile(cls,search_term): profiles = cls.objects.filter(Q(username__username=search_term) | Q(fullname__icontains=search_term)) return profiles
class Post(models.Model): author = models.CharField(max_length=len(user), default=user, editable=False) title = models.CharField(max_length=200) sticky = models.BooleanField( default=False, verbose_name="Sticky", help_text="If checked this post will appear on top of list") text = HTMLField(default="Your text here") categories = models.ManyToManyField(Category) created_date = models.DateTimeField(default=timezone.now) published_date = models.DateTimeField(blank=True, null=True) def publish(self): self.published_date = timezone.now() self.save() def is_sticky(self): return self.sticky def __str__(self): return self.title
class TestModel(models.Model): """测试""" ORDER_STATUS_CHOICES = ( (1, "待支付"), (2, "待发货"), (3, "待收货"), (4, "待评价"), (5, "已完成"), ) status = models.SmallIntegerField(default=1, verbose_name='订单状态', choices=ORDER_STATUS_CHOICES) desc = HTMLField(verbose_name='商品描述', null=True) class Meta(object): db_table = 'df_test' # 指定模型在后台显示的名称 verbose_name = '测试模型' # 去除后台显示的名称默认添加的 's' verbose_name_plural = verbose_name
class Concert(models.Model): title = models.CharField(max_length=255, verbose_name='عنوان') artist = models.ForeignKey(People, on_delete=models.CASCADE, verbose_name='خواننده') songs = models.ManyToManyField(Song, verbose_name='ترانه ها') running_time = jmodels.jDateTimeField(verbose_name='زمان کنسرت') length = models.PositiveIntegerField(verbose_name='مدت اجرا کنسرت') description = HTMLField(verbose_name='توضیحات') place = models.ForeignKey(Place, verbose_name='مکان', on_delete=models.CASCADE) cover = models.ImageField(upload_to='images/concerts/', verbose_name='کاور') def __str__(self): return self.title def get_absolute_url(self): return reverse('tickets:concert_detail', kwargs={'pk': self.pk}) class Meta: ordering = ('-id', )
class Task(models.Model): # under category uuid = ShortUUIDField(unique=True) category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='category') title = models.CharField(max_length=100) description = HTMLField(blank=True, default=None) pdf_file = models.FileField( upload_to=upload_location, validators=[FileExtensionValidator(allowed_extensions=['pdf'])]) status = models.IntegerField(choices=STATUS, default=0) start_date = models.DateTimeField(verbose_name='start_date') last_date = models.DateTimeField(verbose_name='last_date', blank=True, null=True) is_github = models.BooleanField( default=False, verbose_name= 'If you want the participant to provide a GitHub link please select this', ) def __str__(self): return self.category.title + "--->" + self.title
class Projects(models.Model): profile = models.ForeignKey(User, null=True, on_delete=models.CASCADE) title = models.CharField(max_length=20, blank=True) design = models.IntegerField(default=0) usability = models.IntegerField(default=0) content = models.IntegerField(default=0) image_landing = models.ImageField(upload_to='landing/') description = HTMLField(max_length=200, blank=True) link = URLOrRelativeURLField(max_length=200) pub_date = models.DateTimeField(auto_now_add=True) @classmethod def search_by_projects(cls, search_term): projects = cls.objects.filter(title__icontains=search_term) return projects @classmethod def get_profile_projects(cls, profile): projects = Projects.objects.filter(profile__pk=profile) return projects def __str__(self): return self.title
class TopicList(models.Model): TopicName = models.CharField(max_length=300) content = HTMLField() TopicDate = models.DateField(auto_now_add=True) Category = models.ForeignKey(CategoryList, on_delete=models.CASCADE) City = models.ForeignKey(CityList, on_delete=models.CASCADE) User = models.ForeignKey(UserList, related_name="Topic_Subscriber", on_delete=models.CASCADE) AddedBy = models.ForeignKey(UserList, on_delete=models.CASCADE) AddedDate = models.DateField(auto_now_add=True) UpdatedBy = models.ForeignKey(UserList, related_name="Topic_Updated_By", on_delete=models.CASCADE, null=True) UpdatedDate = models.DateField(auto_now_add=True,null=True) IsActive = models.BooleanField(default=True) IsClose = models.BooleanField(default=False) CloseBy = models.ForeignKey(UserList, related_name="Topic_Closed_By", on_delete=models.CASCADE, null=True) CloseDate = models.DateField(auto_now_add=True, null=True) ForceCloseReason = models.CharField(max_length=3999, null=True) ForceCloseCategory = models.ForeignKey(ForceCloseCategoryList, on_delete=models.SET_NULL, null=True) IsNotification = models.BooleanField(default=True) SMSText = models.CharField(max_length=150, null=True) WhatsAppText = models.CharField(max_length=1000, null=True) def __str__(self): return self.TopicName
class Book(models.Model): title = models.CharField(max_length=200) original_title = models.CharField(max_length=200, default="Original_title") author = models.ForeignKey(Author, on_delete=models.CASCADE) year = models.CharField(max_length=200) rating = models.IntegerField(default=0) anna_review = HTMLField(default="Anna's review") image = models.FileField(upload_to='book_img/', blank=True) visible = models.BooleanField(default=True) @mark_safe def small_image(self): return f'<img src="{self.image.url}" width="200">' if self.image else '' small_image.short_description = 'Logo' small_image.allow_tags = True def __str__(self): return str(self.title) class Meta: verbose_name_plural = 'Books' verbose_name = 'Book'
class Profile(models.Model): bio = HTMLField() profile_photo = models.ImageField(upload_to='photos/', null=True) user = models.ForeignKey(User, on_delete=models.CASCADE) def __str__(self): return self.bio def save_profile(self): self.save() def delete_profile(self): self.delete() def update_profile(self): self.update() @classmethod def search_by_profile(cls, username): certain_user = cls.objects.filter(user__username__icontains=username) # profile = Profile.objects.filter(user__username__icontains=name) return certain_user
class Books(BaseModels.BaseModel): # 商品模型类(下面两句是与保存常量的文件有关的) books_type_choices = ((k, v) for k,v in BOOKS_TYPE.items()) # 返回的是一个迭代器对象,((1, 'Python'),(2,'javascript')...) status_choices = ((k, v) for k,v in STATUS_CHOICE.items()) # (0, '上线') # .SmallIntegerField 小整数字段,choices是那个迭代器 type_id = models.SmallIntegerField(default=PYTHON, choices=books_type_choices, verbose_name='商品种类') name = models.CharField(max_length=20, verbose_name='商品名称',) desc = models.CharField(max_length=128, verbose_name='商品简介') # DecimalField 小数字段,decimal_places=2 两位小数 price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='商品价格') unite = models.CharField(max_length=20, verbose_name='商品单位') # 册 stock = models.IntegerField(default=1, verbose_name='商品库存') sales = models.IntegerField(default=0, verbose_name='商品销量') # 富文本编辑 detail = HTMLField(verbose_name='商品详情') # upload_to='books' 把图片保存到books目录下 image = models.ImageField(upload_to='books', verbose_name='商品图片') status = models.SmallIntegerField(default=ONLINE, choices=status_choices, verbose_name='商品状态') objects = BooksManager() class Meta: db_table = 's_books'
class GoodsContent(models.Model): # 用户评论 isDelete = models.BooleanField(default=False) # 逻辑删除 ctitle = models.CharField(max_length=20, verbose_name="商品名称") cpic = models.ImageField(verbose_name='上传图片', upload_to='df_goods/image/%Y/%m', null=True, blank=True) # 商品图片 cusername = models.CharField(max_length=20, verbose_name="买家昵称") clogo = models.CharField(verbose_name='买家头像', max_length=200, default=None) cuser_content = HTMLField(max_length=200, verbose_name="用户评论") date_publish = models.DateTimeField(verbose_name="发表时间", default=datetime.now) cgoodsname = models.ForeignKey(GoodsInfo, on_delete=models.CASCADE, verbose_name="外键商品") # 外键关联GoodsInfo表 class Meta: verbose_name = "商品评论" verbose_name_plural = verbose_name def __str__(self): return self.ctitle
class Author(models.Model): name = models.CharField(max_length=200) second_name = models.CharField(max_length=200) image = models.FileField(upload_to='author_imgs/', blank=True) about = HTMLField(default="About author") date_of_birth = models.DateField(null=True, blank=True) date_of_death = models.DateField('Died', null=True, blank=True) books = models.CharField(max_length=200000, blank=True, null=True) slug = models.SlugField(max_length=200, db_index=True, unique=True) def __str__(self): return str(' ' + self.name + ' ' + self.second_name) class Meta: verbose_name_plural = 'Authors' verbose_name = 'Author' index_together = ( 'id', 'slug', ) def get_absolute_url(self): return reverse('authors: author-detail', args=[self.slug, self.id])
class Article(models.Model): titre = models.CharField(max_length=255) description = models.TextField() contenu = HTMLField() image = models.ImageField(upload_to="images/Article") tag = models.ManyToManyField(Tag, related_name='tag_Article') auteur = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user_article') categorie = models.ForeignKey(CategorieArticle, on_delete=models.CASCADE, related_name='categorie_Article') date_add = models.DateTimeField(auto_now_add=True) date_update = models.DateTimeField(auto_now=True) status = models.BooleanField(default=True) class Meta(): verbose_name = 'Article' verbose_name_plural = 'Articles' def __str__(self): return self.titre
class Goods(models.Model): title = models.CharField('商品名称', max_length=20) pic = models.ImageField('图片', upload_to='images/goods/') price = models.DecimalField('单价', max_digits=5, decimal_places=2) # isDelete = models.BooleanField(default=False) unit = models.CharField('单位', max_length=20, default='500g') click = models.IntegerField('点击量') intro = models.CharField('简介', max_length=200) repertory = models.IntegerField('库存') content = HTMLField('描述') type = models.ForeignKey(GoodsType) # create_time = models.DateTimeField('创建时间', auto_now_add=True) def get_absolute_url(self): return reverse('goods:detail', args=(str(self.id),)) def __str__(self): return self.title class Meta: verbose_name = '商品' verbose_name_plural = "商品列表"
class EmailSignature(BigPrimaryKeyModel): class Meta(BigPrimaryKeyModel.Meta): app_label = 'emailer' get_latest_by = 'created_at' text = HTMLField(blank=False, null=False) active = models.BooleanField(default=False) created_at = models.DateTimeField(blank=True, null=True, auto_now=True, db_index=True) @classmethod def get_signature(cls): try: obj = EmailSignature.objects.filter(active=True).first() except ObjectDoesNotExist: return default_signature else: return obj def __str__(self): return self.text
class Products(models.Model): name = models.CharField(max_length=255, default="") slug = models.CharField(max_length=255, default="") visible = models.BooleanField(default=False) prior = models.IntegerField(default=0) seo_title = models.CharField(max_length=255, blank=True, null=True) seo_description = models.CharField(max_length=255, blank=True, null=True) seo_keywords = models.CharField(max_length=255, blank=True, null=True) h1 = models.CharField(max_length=255, blank=True, null=True) description = HTMLField() price = models.IntegerField() sale = models.IntegerField(default=0) city = models.CharField(max_length=255, default="") addres = models.CharField(max_length=255, default="") created = models.DateTimeField(auto_now=True) updated = models.DateTimeField(auto_now=True) class Meta: verbose_name = 'Товары' verbose_name_plural = 'Товары' def __str__(self): return self.name
class BlogModel(models.Model): title = models.CharField(max_length=200, unique=True) created_on = models.DateTimeField(auto_now_add=True) author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) slug = models.SlugField(blank=True, unique=True) blog_image = models.ImageField(upload_to=upload_location) tags = TaggableManager() description = HTMLField() hit_count_generic = GenericRelation( HitCount, object_id_field='object_pk', related_query_name='hit_count_generic_relation') class Meta: ordering = ('-created_on', ) def get_readtime(self): result = readtime.of_text(self.description) return result.text def __str__(self): return self.title
class Itinerary(models.Model): package = models.ForeignKey(Package, default=None, related_name='itineraries', on_delete=models.CASCADE) subtitle = models.CharField(max_length=255, default='') content = HTMLField() limit = models.PositiveIntegerField(default=0, blank=False, null=False) order = models.PositiveIntegerField(default=0, blank=False, null=False) active = models.BooleanField(default=False) created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) class Meta: db_table = 'itinerary' ordering = ['order'] def __str__(self): return self.subtitle
class Books(BaseModel): books_type_choices = ((k, v) for k, v in BOOKS_TYPE.items()) status_choices = ((k, v) for k, v in STATUS_CHOICE.items()) type_id = models.SmallIntegerField(default=PYTHON, choices=books_type_choices, verbose_name='商品种类') name = models.CharField(max_length=20, verbose_name='商品名称') desc = models.CharField(max_length=128, verbose_name='商品简介') price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='商品价格') unit = models.CharField(max_length=20, verbose_name='商品单位') stock = models.IntegerField(default=1, verbose_name='商品库存') sales = models.IntegerField(default=0, verbose_name='商品销量') detail = HTMLField(verbose_name='商品详情') image = models.ImageField(upload_to='books', verbose_name='商品图片') status = models.SmallIntegerField(default=ONLINE, choices=status_choices, verbose_name='商品状态') objects = BooksManager() class Meta: db_table = 's_books'
class Profile(models.Model): """ Class that contains profile details """ bio = HTMLField() dp = models.ImageField(upload_to='images/', blank=True) user = models.OneToOneField(User, on_delete=models.CASCADE, null="True") def save_profile(self): self.save() def del_profile(self): self.delete() @classmethod def search_profile(cls, name): profile = cls.objects.filter(user__username__icontains=name) return profile @classmethod def get_by_id(cls, id): profile = Profile.objects.get(id=id) return profile
class Termination(models.Model): employee = models.ForeignKey(Employee, verbose_name="Nama Pegawai") termination = models.IntegerField(choices=TERMINATION, verbose_name="Nama Penghentian") motive = models.TextField(max_length=50, blank=True, verbose_name="Alasan") status = models.IntegerField(choices=STATUS2, verbose_name="Status") description = HTMLField(max_length=50, blank=True, verbose_name="Keterangan") class Meta: verbose_name = _('Penghentian') verbose_name_plural = _('Penghentian') ordering = ['id'] def descriptionx(self): return '%s' % self.description descriptionx.allow_tags = True descriptionx.short_description = 'Deskripsi' def __unicode__(self): return '%s' % self.termination_name
class Business(models.Model): investidea=models.CharField(max_length=51) post = HTMLField(blank=False) locationjpg=models.ImageField(upload_to = 'jpg/') pub_date=models.DateField(null=True, blank=True) def __str__(self): return self.investidea class Meta: ordering=['investidea'] def save_locationjpg(self): self.save() def delete_locationjpg(self): self.delete() @classmethod def get_all(cls): locationjpg=cls.objects.order_by('-pub_date') return locationjpg
class Article(BaseModel): # 文章模型 title = models.CharField(max_length=100, verbose_name='标题') digest = models.TextField(verbose_name='摘要', blank=True) content = HTMLField(verbose_name='内容', blank=True) img = models.ImageField(upload_to='blog', default='', blank=True) read = models.IntegerField(default=0, verbose_name='阅读量') tags = models.ManyToManyField(Tag, verbose_name='标签') category = models.ForeignKey(Category, verbose_name='文章分类') recommend = models.ForeignKey(Recommend, default='', verbose_name='推荐位', blank=True) author = models.ForeignKey(User, verbose_name='作者') objects = ArticleManager() def __str__(self): return self.title class Meta: db_table = 'article' verbose_name = '文章' verbose_name_plural = verbose_name
class Profile(models.Model): profile_photo = models.ImageField('picture/') bio = HTMLField() phone = models.IntegerField(default=0) user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True) def save_profile(self): self.save() def delete_profile(self): self.delete() @classmethod def get_profile(cls, id): profile = Profile.objects.get(user=id) return profile @classmethod def filter_by_id(cls, id): profile = Profile.objects.filter(user=id).first() return profile
class Goods(BaseModel): # 商品名称 name = models.CharField(max_length=30) # 简介 short = models.CharField(max_length=100) # 详情 detail = HTMLField() # 图片 img = models.ImageField(upload_to='goods/') # 价格 price = models.DecimalField(max_digits=10, decimal_places=2) # 是否上架 status = models.BooleanField(default=True) # 单位 unit = models.CharField(max_length=10) # 访问量 visits = models.IntegerField() # 销量 sales = models.IntegerField() # 分类 cag = models.ForeignKey(Cag, on_delete=models.CASCADE)
class Message(models.Model): """ Holds messages that will be displayed system wide. We can use the active_datetime and the inactive_datetime to determine what active system message we would like to use. """ message = HTMLField() active_datetime = models.DateTimeField(default=timezone.now) inactive_datetime = models.DateTimeField(default=timezone.now) created = models.DateTimeField(default=timezone.now) modified = models.DateTimeField(auto_now=True) created_by = models.ForeignKey( User, verbose_name=_('Created by'), null=True, blank=True, related_name="%(app_label)s_%(class)s_related_created") modified_by = models.ForeignKey( User, verbose_name=_('Modified by'), null=True, blank=True, related_name="%(app_label)s_%(class)s_related_modified") objects = MessageManager()