django 流程走通

本文介绍了使用Python 3.6.x和Django 1.11.x版本,结合MySQL 8.0数据库创建Web应用的过程。通过`python manage.py`命令创建app、生成迁移文件并应用迁移,成功创建了Grades和Students模型。在Python shell中进行了数据的增删改查操作,展示了Django ORM的便捷性。
摘要由CSDN通过智能技术生成

python 版本选择   3.6.x   0,5

django 版本   1.11.4     1.11.28 都行

mysql 版本  8.0   

创建我的app

python manage.py startapp myApp

安装pymysql

pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple/

 

 

数据库连接 

 

定义类 

 

 在数据库生成迁移文件

F:\python代码\jango1>python manage.py makemigrations
Migrations for 'myApp':
  myApp\migrations\0001_initial.py
    - Create model Grades
    - Create model Students

生成数据表

F:\python代码\jango1>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, myApp, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying myApp.0001_initial... OK
  Applying sessions.0001_initial... OK
数据库查看
mysql> show tables;

查看生成的班级表
mysql> desc myApp_grades;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int         | NO   | PRI | NULL    | auto_increment |
| gname    | varchar(20) | NO   |     | NULL    |                |
| gdate    | date        | NO   |     | NULL    |                |
| ggitlnum | int         | NO   |     | NULL    |                |
| gboynum  | int         | NO   |     | NULL    |                |
| isDelete | tinyint(1)  | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
6 rows in set (0.01 sec)
创建对象
>>> grade1 = Grades()
插入数据
>>> grade1.gname = "paython01"
>>> grade1.gdate = datetime(year=2020,month=12,day=31)
>>> grade1.ggitlnum = 3
>>> grade1.gboynum = 30
保存
>>> grade1.save()
测试数据操作



E:\djiango\jango01>python manage.py shell
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myApp.models import Grades,Students
>>> from django.utils import timezone
>>> from datetime import *

查看所有数据
>>> Grades.objects.all()
<QuerySet []>

查看第一个数据
>>> Grades.objects.get(pk=1)





修改数据,再次赋值,覆盖
>>> grade1.ggitlnum = 3
>>> grade1.save()

数据删除,模型对象.delete()
>>> grade1.delete()
>>> stu = Students()
>>> stu.sname = "子龙哥"
>>> stu.sgender = False
>>> stu.sage = 18
>>> stu.scontend = "我叫子龙哥哥"
>>> stu.sgrade = grade1
>>> stu.save()


>>> stu2 = Students()
>>> stu2.sname = "孟珊"
>>> stu2.sage = 18
>>> stu2.scontend = "我是子龙哥哥的女朋友"
>>> stu2.sgrade =grade1
>>> stu2.save()


>>> grade1.students_set.all()
<QuerySet [<Students: Students object>, <Students: Students object>]>


直接添加
>>> stu3 = grade1.students_set.create(sname=u'琴',sgender=True,scontend=u'我叫琴姐姐',sage=20)
mysql> select * from myApp_students;
+----+--------+---------+------+--------------------------------+----------+-----------+
| id | sname  | sgender | sage | scontend                       | isDelete | sgrade_id |
+----+--------+---------+------+--------------------------------+----------+-----------+
|  3 | 子龙   |       0 |   18 | 我叫子龙哥哥                   |        0 |         3 |
|  4 | 孟珊   |       1 |   18 | 我是子龙哥哥的女朋友           |        0 |         3 |
|  5 | 琴   |       1 |   20 | 我叫琴姐姐                   |        0 |         3 |
+----+--------+---------+------+--------------------------------+----------+-----------+
3 rows in set (0.00 sec)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值