这个要在虚拟环境django环境下,我这里创建的django环境名是djiangoapp,首先通过workon到所在的环境,然后通过pip install pymysql来实现,我这里已经安装了就不演示了。
首先创建一个数据库,但是这个最好是加上格式,因为我的电脑是配置好的,所以不需要配置了。
create user '...'@'host' identified by '...' grant all privileges on CRM.* to 'thomas'@'%' identified by 'thomas';这个是创建一个用户,并把所有的权限给这个用户,当然这个命令要在root用户下面进行调用,其中的%是表示可以远程控制。 同时如果想快速通过命令进入的话可以用下面的这个语句。
mysql -u'用户名' -p -A '数据库名'比如我自己创建的用户名为thomas,数据库名为CRM
mysql -uthomas -p -A CRM同时我们要在setting中修改这个。
ORM就是可以通过pymysql语句代替sql语句执行数据库的操作,当然我们要在init文件中导入
这是对应app下的model中代码,这个对应关系就是ORM的对应关系。 但是这还没有完,我们还要在settings看app是否注册了。 注册完之后我们就到了最重要的部分,就是迁移。 首先,我们迁移是需要所在的环境的,就是django环境
python manage.py makemigrations通过这个使所有的app全部迁移,如果想指定单独的app,在后面加上相应的app的名字就可以了。 当然如果我们想迁移生效还要加上一个语句。
python manage.py migrate这个也可以指定app名。
因为交互式ipython比较适合我们使用,所以我们想通过ipython来操作,所以我们需要安装ipython,我们首先要在指定的环境和文件下来操作,就是djiangoapp下cd到CRM下,通过代码
pip install ipython来安装。 我们如果想要调用的话需要代码
python manage.py shell来启动。
首先我们要导入模型,Student其实就是相当一个类,也对应数据库的表,s就相当于实例了一个对象,也是相当于表中的一条数据,但是无论怎么增加,我们都要s.save().就是保存一下才能生效。 这就是结果。 也可以通过这种先创建一个空实例然后我们在一一赋值的方式来用。(也要save)
pk为主键。 因为get只能查询单条,这里的filter相当于数据库时学的where
该主要也是两种
s = Student.objects.get(name='') s.phone = '' s.save()单条修改用get多条修改用filter
Student.objects.filter(sex=1).update(name = 'hahaha')