首页
学习
活动
专区
圈层
工具
发布

Python Web - Flask笔记6

44. limit、offset及切片(slice)操作 limit:可以限制每次查询的时候只查询几条数据。...示例代码如下: users = User.query.order_by(User.id.desc()).all() print(users) 48. alembic数据库迁移工具 alembic是由SQLAlchemy...alembic的方式类似git,表现在: alembic所有的命令都以alembic开头; alembic的迁移文件也是通过版本进行控制的 安装 pip install alembic 使用alembic...alembic upgrade head FAILED: Can’t locate revision identified by ‘77525ee61b5b’ 原因:数据库中存的版本号不在迁移脚本文件中...解决办法:删除数据库的alembic_version表中的数据,重新执行alembic upgrade head 执行upgrade head时报某个表已经存在的错误: 原因:执行这个命令的时候,会执行所有的迁移脚本

2.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flask扩展使用笔记

    更新表的更好方法是使用数据库迁移框架。源码版本控制工具可以跟踪源码文件的变化,类似地,数据库迁移框架能跟踪数据库模式的变化,然后增量式的把变化应用到数据库中。...SQLAlchemy 的主力开发人员编写了一个迁移框架,称为Alembic(https://alembic.readthedocs.org/en/latest/index.html)。...history List changeset scripts in chronological order....# 迁移 python .\setup.py db migrate INFO [alembic.runtime.migration] Context impl SQLiteImpl....扩展 描述:其实现了将服务器端生成session数据存储在指定的关系型、菲关系、磁盘文件中并将对应的key的HASH存储在网页的Cookie中; 关系型数据库关系越复杂性能越低,非关系型数据库由于采用

    97220

    2.3 Python语言基础

    Traceback (most recent call last) in () ----> 1 '5' + 5 TypeError: Can't convert 'int' object to str...这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试(见下面的“历史”章节),“鸭子测试”可以这样表述: “当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子...如果接收的不是一个list,那么我们就人为将其转变为一个list: if not isinstance(x, list) and isiterable(x): # 如果x不是list,且x可迭代...(a) a is b True a is not c True 因为c = list(a)中的list函数创建了一个新的list,所以c是一个新的list,不指向原来的a。...: 'str' object does not support item assignment 把其他类型转换为字符串: a = 5.6 s = str(a) s '5.6' 因为字符串是一连串Unicode

    1.1K20

    【Python】已解决can only concatenate list (not “str“) to list的问题报错

    然而,当尝试将字符串(str)与列表进行连接时,我们可能会遇到can only concatenate list (not “str”) to list的错误。...错误代码示例: my_list = [1, 2, 3] my_str = "4" result = my_list + my_str # TypeError: can only concatenate...new_list += "new fruit" # TypeError: can only concatenate list (not "str") to list 错误的元素类型混合 在列表中混合使用不同类型的元素...错误代码示例: mixed_list = [1, "two", 3.0] another_list = [4, 5] result = mixed_list + another_list # TypeError...: can only concatenate list (not "int") to list 二、解决方案 使用str()函数转换 在连接之前,使用str()函数将非字符串类型的元素转换为字符串。

    2.8K10

    Python字符串三剑客:len()、split()、join()深度解析

    , 100): 性能监控:def log_size(msg): print(f"Log length: {len(msg)}") 二、split():字符串的"解剖刀" split()方法如同手术刀,能将字符串按指定分隔符精准切割...".split(',') → ['a', '', 'b'] 特殊字符转义:r"path\to\file".split('\\') 三、join():字符串的"缝合怪" join()方法像基因编辑技术,能将可迭代对象中的元素无缝连接...# 重建句子 processed = " ".join(filtered) 五、常见错误与解决方案 类型错误: # 错误:join()参数必须为字符串可迭代对象 ''.join(123) # TypeError...:过滤空值 [x for x in text.split(',') if x] 编码问题: # 错误:混合字节串和字符串 b'data'.join(['a', 'b']) # TypeError...# 解决:统一类型 ''.join([s.decode() for s in byte_list]) 六、性能优化秘籍 预分配内存: # 低效方式 result = "" for s in list:

    27510

    【已解决】Python错误:TypeError: ‘int‘ object is not callable的解决办法

    作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。...前言 上次有粉丝私信问了我一个bug:TypeError: ‘int’ object is not callable如何解决,我们先来看看他的报错代码。...: my_list = [1, 2, 3] index = 1 my_list(index) # 错误地尝试调用索引值,应该使用my_list[index] 错误地使用内置函数或方法 错误示例: str...比如:使用正确的索引访问列表或元组元素 解决方案: my_list = [1, 2, 3] index = 1 print(my_list[index]) # 正确使用索引访问列表元素 正确使用内置函数或方法...,解决方案: greeting = str("Hello") # 正确地将字符串转换为str对象 print(greeting) # 正确理解变量存储的数据类型,解决方案: result = 10

    1.7K10

    Python 内建容器类型

    和 “链表”、“红黑树”、“哈希表” 这些名字相比,所有 Python 内建类型的名字,都只描述了这个类型的功能特点,其他人完全没法只通过这些名字了解它们的哪怕一丁点内部细节。...元组可以作为字典的 key You can’t use list as a dictionary identifier. 你不能将列表当作字典的 key,而元组可以(因为元组是不可变的)。...a = (1,2) b = [1,2] c = {a: 1} # OK c = {b: 1} # Error (TypeError: unhashable type: 'list')...不可变这个限制仅作用于 key,value 是否可变是无所谓的: { '123': [1, 2, 3], # key 是 str,value是list 123: '123',...# key 是 int,value 是 str ('a', 'b'): True # key 是 tuple,并且tuple的每个元素都是不可变对象,value是 boolean } 最常用的

    1.6K10

    Python数据类型转换详解

    字典类型 Dictionary 集合类型 Set 可变数据类型:列表,字典,集合 不可变数据类型:字符串,数字类型,布尔类型,元组 容器类型数据:字符串,列表,元组,字典,集合 非容器类型数据:数字类型...print(res, type(res)) # True str'> a = [1, 2, 3] # list res = str(a) print(res, type(res...' # str res = int(a) print(res, type(res)) # 此时python会报错,报错类型为TypeError a = [1, 2, 3] # list res...5.集合转列表时,结果是无序的,因为集合本身就是无序的 a = '123' # str res = list(a) print(res, type(res)) # ['1', '2', '3']...tuple> 2.2.5 其他转集合类型 1.数字类型是非容器类型,不能转换为集合 2.字符串转集合时,结果是无序的 3.列表转集合时,结果是无序的 4.元组转集合时,结果是无序的 5.字典转集合时,只保字典中的键

    1.4K20

    - Python中不同数据类型间的转换

    (test_str_list)# 执行结果如下:# >>> ['a', 'b', 'c|d|e']# >>> 可以看到已经将 'test_str_list' 以 '|' 为切割规则符号切割成了两次error_str...join() 函数 的用法:'sep'.join(iterable) ;sep:生成字符串用来分割列表每个元素的符号iterable:非数字类型的列表或元组或集合join() 函数 的 返回值为一个字符串需要注意的是...= '-'.join(test_info_tuple)print(new_info_tuple)# 执行结果如下:# >>> TypeError: sequence item 0: expected str...代码示例如下:sort_str = 'a e f h j k d l'sort_str_list = sort_str.split(' ')print(sort_str_list)# 执行结果如下:#...# 报错信息为"bytes"类型只支持ASCII码的字符# 由此也引出了下文的 encode() 函数 与 decode() 函数 encode() 函数 - 字符串转 bytesencode(

    1.1K11
    领券