如何使用Django自带的DBMS;如何生成批量数据(数据库管理系统)这里以mysql为例
如何使用Django自带的DBMS;如何生成批量数据(数据库管理系统)这里以mysql为例
1、Django自带的DBMS管理数据库
step 1
创建好django项目,应用后,通过cmd命令窗口创建数据库
mysql> create database crmsystem;
然后再回到django项目文件下的 init__.py模块里写上(前提是先安装上了pymysql模块)
import pymysql
pymysql.install_as_MySQLdb()
step 2
在项目settings.py模块,配置好数据库信息,settings.py关于数据库的配置如下
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'crmsystem',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '666666'
}
}
step 3
再回到应用目录下的models.py模块,在里面通过ORM创建好需要的数据表,示例只有一个简单的数据表,可根据需求来。
class Userinfo(models.Model):
""
员工表
""
username = models.CharField(max_length=12)
password = models.CharField(max_length=32)
telephone = models.CharField(max_length=11)
email = models.EmailField()
active = models.BooleanField(default=False)
#源类写法不能改变,verbose_name_plural字段为管理系统呈现的字段
class Meta:
verbose_name_plural = '公司员工表'
step 4
在应用目录下的admin.py模块中导入models.py模块,再注册之前创建好的数据表
from 应用目录 import models
admin.site.register(models.Userinfo)
step 5
通过终端台输入
#先输入
python manage.py makemigrations
#后输入
python manage.py migrate
step 6
在通过终端后台创建超级用户
python manage.py createsuperuser
#输入用户名和密码即可,邮箱处直接回车跳过
然后打开路由设置,开启
urlpatterns = [
path('admin/', admin.site.urls),
]
step 7
打开浏览器输入127.0.01/admin/即可访问,登录成功后就可以管理所创建的数据
2、批量生成数据
在django项目根目录下创建一个.py文件,名字自拟。这里是createdata.py。在createdata.py文件中写入以下代码(下面的数据表我用的是另一个,根据自己要创建的数据表内容字段来)运行即可。
if __name == "__main__":
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'superCRM.settings')
import django
django.setup()
from sales import models
source_type = (('qq', "qq群"),
('referral', "内部转介绍"),
('website', "官方网站"),
('baidu_ads', "百度推广"),
('office_direct', "直接上门"),
('WoM', "口碑"),
('public_class', "公开课"),
('website_luffy', "路飞官网"),
('others', "其它"),)
course_choices = (('LinuxL', 'Linux中高级'),
('PythonFullStack', 'Python高级全栈开发'),)
obj_list = []
#生成200条数据
for i in range(200):
d = {
'qq':str(11111+i),
'name':'dz技师%s'%i,
'source':source_type[random.randint(0,8)][0], #来源
'course':course_choices[random.randint(0,1)][0], #咨询课程
}
obj = models.Customer(**d)
obj_list.append(obj)
models.Customer.objects.bulk_create(obj_list)

浙公网安备 33010602011771号