python学习吐槽

最近学了下python,先从最简单的web开发入手(我指得是相对于后台纯脚本,web开发更简单),直接上flask框架,发现sqlalchemy太重,学习曲线直线上升,换peewee,用了半天老报错,代码如下

from peewee import *

db = MySQLDatabase(host = '127.0.0.1', user = 'root', passwd = '123456', database = 'abc', charset = 'utf8')


class MyBaseModel(Model):
    class Meta:
        database = db

    # @classmethod
    # def getOne(cls, *query, **kwargs):
    #    #为了方便使用,新增此接口,查询不到返回None,而不抛出异常
    #    try:
    #       return cls.get(*query,**kwargs)
    #    except DoesNotExist:
    #        return None

class Admin(MyBaseModel):
    id = IntegerField()
    username = CharField(unique=True)
    realname = CharField()
    password = CharField()

class AdminLog(MyBaseModel):
    id = IntegerField()


 service 

# -*- coding: utf-8 -*-
__author__ = 'yao'

from niuhome.admin.models.MyBaseModel import Admin

class AdminService:
    @staticmethod
    def CheckLogin(username,password):
        model = Admin.get(Admin.username=='xx')
        if model is None:
            return u'该账户不存在'
        else:
            if model.password == password:
                return True
            else:
                return u'密码错误'

报错如下

 

AdminDoesNotExist: Instance matching query does not exist:SQL: SELECT `t1`.`id`, `t1`.`username`, `t1`.`realname`, `t1`.`password` FROM `admin` AS t1 WHERE (`t1`.`username` = %s)PARAMS: [u'xx']


我想不应该啊,纯SQL直接数据库可查,翻文档,发现。。。

Selecting a single record

You can use the Model.get() method to retrieve a single instance matching the given query.

This method is a shortcut that calls Model.select() with the given query, but limits the result set to 1. Additionally, if no model matches the given query, a DoesNotExist exception will be raised.

所以说···py在web开发中,想像PHP那样方便是完全不可能的,侧重点不一样,看来还是写写后台脚本好了

后续踩坑在发文章分享···over

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值