python 用 sqlacodegen 将存在的数据库表 转化成model.py

Flask的sqlalchemy对数据库表的模型提供了很多易用的方法。为了使用这些内容,需要将数据库表按照Flask识别的格式创建成Model,但是一般我们都是在已经创建好的数据库环境中开发python代码,对于已经存在的数据库表,可以通过以下方式来生成models.py

首先,安装

pip install sqlacodegen
然后,在命令行执行

sqlacodegen --noviews --noconstraints --noindexes --outfile d:\\models.py mysql://test:test@122.30.100.12:3388/test
--noviews 不对视图生成model

--outfile 后面跟的是将生成的代码输出到哪个文件保存

详细的参数信息可以查看帮助

sqlacodegen --help
生成的文件就可以使用了,例如:

import models
from sqlalchemy import Table, Column, Integer, String, Date, Float, create_engine
import config
from sqlalchemy.orm import sessionmaker
# DB class
import os,sys,inspect

db = create_engine(config.DB_URI)

S=sessionmaker(bind=db)
s=S()
u=s.query(DhBu
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库model.py是用来定义数据库模型的Python文件。在Web应用中,我们通常使用关系型数据库(如MySQL、PostgreSQL等)或非关系型数据库(如MongoDB、Redis等)来存储数据。而数据库模型就是将这些数据存储到数据库中的一种方式。 在Django框架中,我们可以使用ORM(Object-Relational Mapping)来定义数据库模型。ORM是一种将对象和关系数据库之间的映射技术,它可以将数据库中的Python中的类相对应,将中的行与类的实例相对应,使得我们可以使用Python代码来操作数据库,而不需要编写SQL语句。 在model.py文件中,我们首先需要导入Django框架中的models模块,然后定义一个类来数据库中的一张。在这个类中,我们可以定义中的字段(Field),例如CharField、IntegerField等,以及一些其他的属性,例如null、blank、default等。 下面是一个简单的model.py文件的例子: ```python from django.db import models class User(models.Model): name = models.CharField(max_length=50) age = models.IntegerField() email = models.EmailField(null=True, blank=True) def __str__(self): return self.name ``` 在这个例子中,我们定义了一个User类,它继承自models.Model类。我们定义了三个字段,分别是name、age和email,它们分别对应着中的三个列。其中,name是一个CharField类型的字段,它的最大长度为50;age是一个IntegerField类型的字段;email是一个EmailField类型的字段,它可以为空。 在类中,我们还定义了一个__str__()方法,它返回的是对象的name属性,方便我们在控制台中查看对象时能够更加直观地显示对象的信息。 通过定义好的数据库模型,我们可以使用Django的ORM来进行数据库操作,例如创建、查询数据、插入数据等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值