class Product(Document): category = fields.ReferenceField(Category) name = fields.StringField(required=True, unique=True) description = fields.StringField(required=True, unique=True) price = fields.NumberField(required=True) image_url = fields.UrlField() available_from = fields.DateTimeField() available_till = fields.DateTimeField()
class Category(Document): # id_cat = fields.IntegerField() id_cafe = fields.ReferenceField(Cafe) name_cat = fields.StringField(required=True, unique=True) image_url_cat = fields.UrlField() class Meta: collection = db.category
class Card(Document): year = fields.IntegerField(required=True) img = fields.UrlField() name = fields.StringField(required=True, unique=True) desc = fields.StringField(required=True) class Meta: collection = db.tawep.card
class Cafe(Document): # id_cafe = fields.IntegerField() name_cafe = fields.StringField(required=True, unique=True) address = fields.StringField(required=True, unique=True) info = fields.StringField() image_url_cafe = fields.UrlField() payment_type = fields.ReferenceField(PaymentTypes) class Meta: collection = db.cafe
class MySchema(Schema): string = fields.StringField() uuid = fields.UUIDField() number = fields.NumberField() integer = fields.IntegerField() decimal = fields.DecimalField() boolean = fields.BooleanField() float = fields.FloatField() url = fields.UrlField() email = fields.EmailField() constant = fields.ConstantField("const")
class Product(Document): # id_prod = fields.IntegerField() id_cat = fields.ReferenceField(Category) name_prod = fields.StringField(required=True, unique=True) description = fields.StringField(required=True, unique=True) price = fields.NumberField(required=True) image_url_prod = fields.UrlField() avail_from = fields.DateTimeField() avail_till = fields.DateTimeField() class Meta: collection = db.product
class MySchema(EmbeddedSchema): string = fields.StringField() uuid = fields.UUIDField() number = fields.NumberField() integer = fields.IntegerField() decimal = fields.DecimalField() boolean = fields.BooleanField() formattedstring = fields.FormattedStringField('Hello {to_format}') float = fields.FloatField() # localdatetime = fields.LocalDateTimeField() url = fields.UrlField() email = fields.EmailField() constant = fields.ConstantField("const")
class ImageDocument(Document, metaclass=MetaBaseTemplate): public_id = fields.StringField(required=True) filename = fields.StringField() tags = fields.ListField(fields.StringField, missing=list) url = fields.UrlField(required=True) signature = fields.StringField() etag = fields.StringField() user = fields.UUIDField(required=True) liked = fields.IntegerField(missing=0) created_at = fields.DateTimeField(missing=datetime.utcnow) class Meta: collection_name = "images"
class Users(Document, metaclass=MetaBaseTemplate): __collection__ = "users" email = fields.EmailField(required=True, unique=True) guid = fields.UUIDField(missing=uuid.uuid4) name = fields.StringField(validate=validate.Length(max=50), required=True) picture = fields.UrlField() password = fields.StringField(load_only=True) class Meta: pass # indexes = ("email",) @classmethod def create_password(cls, passwd): m = hashlib.sha256() m.update(passwd) return m.hexdigest()
class SocialLink(EmbeddedDocument): value = fields.UrlField(required=True) type = fields.StrField(validate=validate.OneOf(SOCIAL_LINK_TYPES), required=True)
class Category(Document): cafe = fields.ReferenceField(Cafe) name = fields.StringField(required=True, unique=True) image_url = fields.UrlField()
class Cafe(Document): name = fields.StringField(required=True, unique=True) addresses = fields.StringField(required=True) info = fields.StringField() image_url = fields.UrlField() payment_type = fields.ReferenceField(PaymentType)