class Photo(db.Document): ''' Stores basic meta-data for file uploaded to server. Photos are served using file_name field.''' file_name = db.StringField(required=True) file_type = db.StringField() created_at = db.DateTimeField(default=datetime.datetime.now, required=True) url = db.StringField() def __unicode__(self): return self.file_name def save(self, *args, **kwargs): if self.file_name: self.url = '/static/uploads' + self.file_name self.file_type = re.search(r'.*\.(.+)$', self.file_name, re.I).groups()[0] return super(Photo, self).save(*args, **kwargs) meta = { 'indexes': [{ 'fields': ['$file_name', '$file_type'], 'weights': { 'file_name': 10, 'file_type': 2 } }] }
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 Post(db.Document): created_at = db.DateTimeField(default=datetime.datetime.now, required=True) title = db.StringField(max_length=255, required=True) slug = db.StringField(max_length=255, required=True) body = db.StringField(required=True) comments = db.ListField(db.EmbeddedDocumentField('Comment')) def get_absolute_url(self): return url_for('post', kwargs={"slug": self.slug}) def __unicode__(self): return self.title meta = { 'allow_inheritance': True, 'indexes': ['-created_at', 'slug'], 'ordering': ['-created_at'] }
class Comment(db.EmbeddedDocument): created_at = db.DateTimeField(default=datetime.datetime.now, required=True) body = db.StringField(verbose_name="Comentario", required=True) author = db.StringField(verbose_name="Nome", max_length=255, required=True)
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.EmbeddedDocument): create_time = db.DateTimeField(default=datetime.datetime.now, required=True) body = db.StringField(verbose_name='Comnent', required=True) author = db.StringField(verbose_name='Name', max_length=255)
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())