class Post(db.Document): ''' Post document; see fields below. ''' title = db.StringField(max_length=120, required=True) slug = db.StringField() created_at = db.DateTimeField(default=datetime.datetime.now, required=True) author = db.ReferenceField(User_) published = db.BooleanField(default=False) tags = db.ListField(db.StringField(max_length=30)) index_background = db.ReferenceField(Photo) category = db.ReferenceField(Category) content = db.StringField(required=True) mark_delete = db.BooleanField(default=False) def save(self, *args, **kwargs): self.slug = re.sub('[^\w]+', '-', self.title.lower()) return super(Post, self).save(*args, **kwargs) meta = { 'indexes': [{ 'fields': ['$title', '$content'], 'weights': { 'title': 10, 'content': 2 } }] }
class Post(db.Document): title = db.StringField(max_length=150,required=True) date_posted = db.DateTimeField(default = datetime.utcnow()) content = db.StringField() image_file = db.StringField(max_length=50,required=True,default='post.jpg') author = db.ReferenceField(User,required=True) def __repr__(self): return f"Post('{self.title}','{self.date_posted}','{self.content}')"
class Comment(db.Document): meta = {"collection": "comments"} author = db.ReferenceField(User) post = db.ReferenceField(Post) content = db.StringField(required=True, max_length=255) date = db.DateTimeField(required=True, default=datetime.utcnow)
class Comment(db.Document): post = db.ReferenceField(Post,required=True) author = db.ReferenceField(User,required=True) content = db.StringField(max_length=150,required=True) date_posted = db.DateTimeField(default = datetime.utcnow())