首页 > 其他 > 详细

Django_ORM操作

时间:2019-09-26 15:23:46      阅读:83      评论:0      收藏:0      [点我收藏+]

#Django默认连接的是sqlite数据库

1.首先MySQL上创建好数据库

2.修改Django中settings.py中的DATABASES及INSTALLED_APPS将你的app名字加到末尾(注册app)

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql,
        NAME: 你的数据库名称,
        USER: 你的DB用户名,
        PASSWORD: 你的DB密码,
        HOST: 你的mysql地址,
        PORT: 3306,
    }
}
INSTALLED_APPS = [
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘app01‘,
]
 

 3.修改Django的project同名目录中__init__.py文件

import pymysql
pymysql.install_as_MySQLdb()

#重启project;现在Django连接数据库的方式改为MySQL

 #通过ORM创建表

#在app中models.py创建类(nid类可以不写,系统会自动创建名为id的自增主键列)

from django.db import models

class UserInfo(models.Model):
    nid = models.BigAutoField(primary_key=True)
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)

 #创建完类和注册app之后执行命令将类通过ORM转化成SQL命令写入到数据库中

python manage.py makemigrations

python manage.py migrate

#执行成功后刷新数据库可看到生成的新的数据表(app01_userinfo是通过类创建的,其他是系统自动创建的)

技术分享图片

 #增加列

#类中添加数据表的列名和类型(后面可以写(null=True)允许为空或指定默认值)
#修改列名直接改类中的列名然后执行命令 age
= models.IntegerField(default=1) #执行命令 python manage.py makemigrations python manage.py migrate

#添加外键

class UserGroup(models.Model):
    title = models.CharField(max_length=32)

class UserInfo(models.Model):
    nid = models.BigAutoField(primary_key=True)
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField(default=1)
    ug = models.ForeignKey("UserGroup",on_delete=models.CASCADE,null=True)

#ORM会在数据库中创建一个列名“ug_id”的列

技术分享图片

 

 #数据表信息操作

#插入数据

from app01 import models

def index(request):
    #向UserGroup表中添加数据
    models.UserGroup.objects.create(title=‘销售部‘)
    return HttpResponse(数据库操作...)

#访问url,调用index

http://127.0.0.1:8000/app01/index.html

技术分享图片

 

 #也可以往用户表里插入数据

models.UserInfo.objects.create(username=‘root‘,password=‘pwd‘,age=18,ug_id=1)

 

 

 

 

 

 

 

* 参考oldboy视频整理

Django_ORM操作

原文:https://www.cnblogs.com/sparkss/p/11589530.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!