Example #1
0
class Shop(db.Model):
    id = db.PrimaryKeyField()
    name = db.CharField(max_length=80)  #商品名称
    ename = db.CharField(max_length=100)  #商品英文名称
    price = db.CharField(max_length=30)  #商品价格
    cid = db.IntegerField()  #商品分类
    level = db.TinyIntegerField(max_length=1, default=3)  #甜度
    resume = db.CharField()  #简单介绍
    intro = db.TextField()  #详细介绍
    prompt = db.TextField()  #提示
    args = db.TextField()  #参数内容
    cover = db.CharField(max_length=20)  #头图
    views = db.SmallIntegerField(default=0)  #点击率
    orders = db.SmallIntegerField(default=0)  #购买次
    status = db.TinyIntegerField(max_length=1, default=0)  #是否推荐 0不推荐 1推荐 #9删除
    created = db.IntegerField(default=int(time.time()))  #添加时间

    def validate(self):
        if self.name and self.ename and self.cid:
            if not re.match('^[0-9a-z]+$', "".join(
                    self.ename.lower().split())):
                raise Exception('英文名只能是字母和数字组合')
        else:
            raise Exception('请输入商品名,英文名或设置所属分类id')

    class Meta:
        db_table = 'shops'
        order_by = ('-created', )
Example #2
0
class Consult(db.Model):
    sid = db.IntegerField()  #商品Id
    uid = db.IntegerField(default=0)  #用户Id
    mobile = db.CharField(max_length=11)  #用户名
    content = db.TextField()  #咨询内容
    posted = db.IntegerField(default=int(time.time()))  #咨询时间
    reply = db.TextField()  #回复内容
    replyed = db.IntegerField(default=0)  #回复时间

    class Meta:
        db_table = 'consults'
Example #3
0
class Page(db.Model):
    """
    静态页面
    """
    id = db.TinyPrimaryKeyField()
    name = db.CharField(max_length=20)
    slug = db.CharField(index=True, max_length=20) # 访问路径
    content = db.TextField() # 页面内容
    template = db.CharField(max_length=20, default='staticpage.html')
    
    def validate(self):
        if self.name and self.slug:
            self.slug = self.slug.lower()
            if not re.match('^[0-9a-z]+$', self.slug):
                raise Exception('访问目录只能是字母和数字组合')
            
            ft = ((Page.name == self.name) | (Page.slug == self.slug))
            if self.id:
                ft = ft & (Page.id != self.id)
                
            if Page.select().where(ft).count() > 0:
                raise Exception('分类同名或者目录同名')
        else:
            raise Exception('请输入分类名或者访问目录')
    
    class Meta:
        db_table = 'page'