1 | apt-get install python3-dev nginx |
1 | docker: Error response from daemon: driver failed programming external connectivity on endpoint testcontainer (c55fc0dd481c36765fcd968118c3fbf5c7fa686cdfc625c485f963109b0f89e3): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name. |
django 连接已有的MySQL数据库 操作方式
方法一:采用django自由的语法进行操作
参考:https://docs.djangoproject.com/zh-hans/3.0/howto/legacy-databases/
1 | python manage.py inspectdb # 将mysql的数据库创建对应的模型 |
方法一会存在以下几个问题:(django=2.2,本地windows环境)
- 生成model.py文件时,应当在app目录下生成,否则会报错,得不到相应的模型
- 生成的model.py文件,是utf-16进制(或其他格式),需要转换为utf-8进制,否则无法识别文件,pycharm右下角可以看到文件进制并修改
- 数据库的表存在依赖关系,别名重复等情况。在指定特定表生成模型,注意也要将其他表也生成下来,同时别名重复需要加related_name,可以仔细阅读报错信息进行相应操作
- 多个数据库之前不容易操作,需要配置多数据库
- 多数据库识别,虽然setting配置了多数据库,但是还是要进行路由操作才能识别,否则只能识别default数据库
方法二: 第三方库
pymysql,优点:
- 免去多数据库的路由配置
- 直接用mysql语句