django 1.9版本建数据表过程:
环境:windows 、pycharm版本4.0、django版本1.9
1. 新建django项目,建一个app
file-new project --django --写项目名称--more setting ---写app名称--create
2.设置setting.py
数据库设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': 'password', # Not used with sqlite3.
'HOST': '10.xxx.xxx.xxx', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
}
}
添加app
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'books',
)
3.app中的model.py 设置
from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Author(models.Model):
salutation = models.CharField(max_length=10)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
headshot = models.ImageField(upload_to='/tmp')
class Book (models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
4.在项目目录下运行命令
新建sql文件:
python manage.py makemigrations
$ python manage.py makemigrations
Migrations for 'books':
0001_initial.py:
- Create model Author
- Create model Book
- Create model Publisher
- Add field publisher to book
更新到数据库中
在运行:python manage.py migrate
$ python manage.py migrate
Operations to perform:
Synchronize unmigrated apps: staticfiles, messages
Apply all migrations: admin, contenttypes, books, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying books.0001_initial... OK
5.完成在数据库中建立相应表。
mysql> show tables;
+----------------------------+
| Tables_in_test |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| books_author |
| books_book |
| books_book_authors |
| books_publisher |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
| django_site |
+----------------------------+
15 rows in set (0.00 sec)
“每个数据库表对应一个类”这条规则的例外情况是多对多关系。在我们的范例模型中, Book 有一个 多对多字段 叫做 authors 。 该字段表明一本书籍有一个或多个作者,但 Book 数据库表却并没有 authors 字段。相反,Django创建了一个额外的表(多对多连接表)来处理书籍和作者之间的映射关系。
对应生成一个books_book_authors对应关系表
我们并没有显式地为这些模型定义任何主键。除非你指定,否则 Django 会自动为每个模型创建一个叫做 id 的主键。每个 Django 模型必须要有一个单列主键。
相关推荐
使用Django1.9开发博客(1) - 入门篇 使用Django1.9开发博客(2) - 模型 使用Django1.9开发博客(3) - 部署 使用Django1.9开发博客(4) - 三部曲 使用Django1.9开发博客(5) - 页面美化 使用Django1.9开发博客...
Tango With Django 1.9 1.10 How to Tango with Django 1.9 A beginners guide to Python/Django Leif Azzopardi and David Maxwell This book is for sale at ...
Django 1.9是这个框架的一个重要版本,它包含了许多改进和新特性,对于理解Django的开发流程和构建Web应用程序至关重要。 首先,Django 1.9在安装和升级方面进行了优化,使得开发者可以更方便地管理依赖关系和项目...
### Django 1.9 官方文档知识点概览 #### 一、Django 文档概述 - **获取帮助**:提供了获取支持的方式,包括官方论坛、邮件列表等。 - **初次接触**:介绍如何快速入门Django框架。 - **模型层**:探讨了数据库操作...
【作品名称】:基于Python Django1.9 jquery编写的程序在线评测系统(OJ)Online Judge System 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目...
试用Django 1.9 尝试Django 1.9通过创建一个简单而强大的Django博客对Django 1.9版进行了介绍。 本系列文章涵盖了各种Django基础知识以及Django 1.9特定材料。 由Team CFE @ 创建。 教程视频可在我们的并且在《没有...
项目概述:本项目是一款基于Python 3.4和Django 1.9框架开发的完整博客系统。它采用多样化的技术栈,主要包括CSS样式设计,辅以Python后端逻辑处理、HTML页面布局及JavaScript交互功能。整个项目包含72个文件,其中...
Advancing-the-Blog, 在尝试 Django 1.9 ( https,建筑物)的顶部 Blog博客推广博客是一个扩展的看法,用 Django 框架构建一个现代博客,同时利用了 jQuery 。Markdown 。Bootstrap 。api等等。讲座代码2 - 从 try ...
【标题】:“我的第二个练手项目:(django 1.9+python 2.7)慕学网在线教育平台(后端部分)” 这个项目是一个使用Python 2.7和Django 1.9框架构建的在线教育平台的后端部分。Django是Python的一个高级Web开发框架...
- 安装Python:确认凝思系统上的Python版本与Django兼容。 - 安装Django:使用pip命令进行安装,如`pip install django`。 - 安装达梦数据库驱动:通常为`dmdbms`或`pyodbc`,根据官方文档指示安装。 - 配置...
我的第二个练手项目:(django1.9+python2.7)慕学网在线教育平台(后端部分)
本教程将围绕“Python建站Django框架与数据库交互的简单学习代码”这一主题,深入探讨如何利用Django进行数据库操作,如增删改查(CRUD)功能。 首先,Django是一个高级的Web应用框架,它遵循模型-模板-视图(MTV)...
这个版本是1.9系列的一个小更新,包含了对稳定性和安全性的改进。 一、Django框架基础 Django的核心特性包括: 1. **ORM(对象关系映射)**:Django的ORM允许开发者使用Python代码来操作数据库,减少了对SQL的...
Django 1.9.12是这个框架的一个版本,它在Django 1.9的基础上进行了优化和更新,以提供更好的稳定性和性能。在安装Django 1.9.12时,通常会有一个名为"Django-1.9.12.tar.gz"的压缩包文件,这是Linux和Unix系统常用...
Python仓库管理系统源码库存管理系统源码(基于Django)内含数据库文件专为大学期间课程设计和期末大作业开发的高分设计项目,可作为高分课程设计和期末大作业的参考,含有代码注释小白也可看的懂,有能力的小伙伴也...
django-ldapdb, Django ldapdb,用于 Django的LDAP数据库后端 django-ldapdb django-ldapdb 是用于 Django的LDAP数据库后端,允许通过 Django 模型操作LDAP条目。它支持大多数与 Django 模型相同的api:MyModel.o