Django ORM创建数据库

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

基本配置

一、创建django程序

  • 终端命令:django-admin startproject sitename
  • IDE创建Django程序时,本质上都是自动执行上述命令

其他常用命令:

  python manage.py runserver 0.0.0.0
  python manage.py startapp appname
  python manage.py syncdb
  python manage.py makemigrations
  python manage.py migrate

  python manage.py createsuperuser

二、程序目录

三、配置文件

1、数据库

settings配置

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘db5‘,
        ‘USER‘: ‘root‘,
        ‘PASSWORD‘: ‘‘,
        ‘HOST‘: ‘localhost‘,
        ‘PORT‘: ‘3306‘,
    }
}

  _init_.py

import pymysql
pymysql.install_as_MySQLdb()

models.py    创建类

class UserInfo(models.Model):     #
                          """
                         员工
                         """
                nid=models.AutoField(primary_key=True)     #自增列 int类型
                username=models.CharField(max_length=32)    #字符串类型 最大长度
                password=models.CharField(max_length=64)    #密码长度尽量写大
               age=models.IntegerField(default=1)  #如果需要在新加一列有数字的话 需要设置默认值为1
                #ug_id
               ug=models.ForeignKey("UserGroup",null=True)    #增加外键   部门表目前没有数据 可以为空

            class UserGroup(models.Model):   #必须要继承的
                        """
                        部门
                        """
                 title=models.CharField(max_length=32)

models.py

settings.py注册上app  

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘app01‘,
]

创建数据表

命令:

python manage.py  makemigrations
python manage.py   migrate

  

ORM操作表  

# 增删该查
from app01 import models
#新增
# models.UserGroup.objects.create(title="销售部")
# models.UserInfo.objects.create(user="root",password=‘pwd‘,age=18,ug_id=1)
#查找  all拿全部的
group_list=models.UserGroup.objects.all()
#group_list QuerySet类型(列表)
#QuerySet类型[obj,obj,obj]
print(group_list)
info_list=models.UserInfo.objects.all()
print(info_list)
#按照条件查询 filter  (id=1)
# group_list = models.UserGroup.objects.filter(id=1)
# 神奇的双下划线(id__lg=1)  id 大于1
#                (id__lt=1) id  小于1

 #删除  删除的时候先查询在进行删除
 #models.UserGroup.objects.filter(id=2).delete()

#更新   更新之前先进行查询 在更新
models.UserGroup.objects.filter(id=2).update(title="运营部")

时间: 2024-10-17 14:23:31

Django ORM创建数据库的相关文章

Django - ORM创建基本类

DBFirst CodeFirst 创建类 1.根据类自动创建数据库表 在app下的models.py中创建表 创建数据库之前,需要在django下的setting.py模块中的INSTALLED_APPS中,添加要创建表的app名称: 在app目录下的models.py中,增加代码: 在pycharm命令行中,在Terminal执行命令: python manage.py makemigrations,执行成功后,会生成下述文件,该文件存储数据库临时文件. 执行命令:python manage

Django ORM操作数据库常用API

昨天晚上,我们完成了一个简单的实例来对数据库表进行操作.今天,我们要熟悉更多的API,实现更复杂的功能.这一步完成了,我们对小型数据的操作问题也就不大了. 现在,我们还是参考django官方文档,来进行学习 1.构造数据表 把以下内容,拷贝到你的朋友charm中,然后执行migrate命令 class Blog(models.Model):name = models.CharField(max_length=100)tagline = models.TextField() def __str__

django ORM创建

简短的例子 from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) 上面的Person 模型会在数据库中创建这样一张表: CREATE TABLE myapp_person ( "id" serial NOT NULL PRIMARY KEY, &quo

ORM创建数据库表的方式一

from django.shortcuts import renderfrom app01 import models # Create your views here.#添加对象# create方式一def data_opr(req): pub=models.Publish.objects.filter(id=1) authors=models.Author.objects.filter(id_gt=1) #加models就对了 models.Book.objects.create( titl

python学习笔记-Day022 - django ORM操作

一对多:models.ForeignKey() 首先定义表结构: class UserType(models.Model):     caption = models.CharField(max_length=32)     def __unicode__(self):         return self.caption          class UserInfo(models.Model):     username = models.CharField(max_length=32)

Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍

创建一个 Django 项目及应用 django-admin startproject orm cd orm python manage.py startapp app01 在 models.py 上创建数据库结构 from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30, verbose_name="名称") address = models.Ch

数据库表反向生成(二)django ORM inspectdb

在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码. 正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表. 反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码. 1.准备工作 创建django工程以及

Django—ORM数据库操作

---恢复内容开始--- 一.orm介绍 1 ORM即Object Relational Mapping,全称对象关系映射. 优点: 1 不用写sql,不会sql的人也可以写程序 2 开发效率高 2 缺点: 1 可能sql的效率低 3 如何使用: 如果连接mysql:在setting里配置: 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', '

在Django中使用ORM创建图书管理系统

一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等)会有点区别, 因此直接在你的项目中使用sql语句的话,不便于以后的修改,万一更换了数据库,那所有sql语句不就要重新写吗? 所以这个时候ORM就体现出优点了,你只需要写ORM的代码,它就会根据你连接的数据库自动帮你翻译成对应的sql语句, 也就是说无论你使用的是mysql还是oracle,ORM操