django之创建第8个项目-数据库配置及同步研究
- 1、sqlitestudio-2.1.5数据库可视化工具--百度云盘下载
- 2、编写C:\djangoweb\helloworld\blog\models.py文件
- # Create your models here.
- #coding:utf-8
- from django.db import models
- class Student(models.Model):
- name=models.CharField(max_length=50)
- age=models.IntegerField()
- 3、配置C:\djangoweb\helloworld\helloworld\setting.py的DATABASES变量
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2sqlite3', 'mysql', 'sqlite3' or 'oracle'.
- 'NAME': 'test.db', # Or path to database file if using sqlite3.
- # The following settings are not used with sqlite3:
- 'USER': '',
- 'PASSWORD': '',
- 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
- 'PORT': '', # Set to empty string for default.
- }
- }
- 4、同步数据库(之前创建数据库删掉)
- c:\djangoweb\helloworld>manage.py syncdb
- Creating tables ...
- Creating table auth_permission
- Creating table auth_group_permissions
- Creating table auth_group
- Creating table auth_user_groups
- Creating table auth_user_user_permissions
- Creating table auth_user
- Creating table django_content_type
- Creating table django_session
- Creating table django_site
- Creating table django_admin_log
- Creating table blog_student
- You just installed Django's auth system, which means you don't have any superuse
- rs defined.
- Would you like to create one now? (yes/no): no #是否创建超级用户?这里我选择了no
- Installing custom SQL ...
- Installing indexes ...
- Installed 0 object(s) from 0 fixture(s)
- c:\djangoweb\helloworld>
- 5、C:\djangoweb\helloworld\blog\models.py文件新增intime数据类型
- # Create your models here.
- #coding:utf-8
- from django.db import models
- class Student(models.Model):
- name=models.CharField(max_length=50)
- age=models.IntegerField()
- intime=models.DateTimeField() #新增
- 6、数据库同步,将新增的model中的内容更新到数据库中
- 【注意事项】
- 1)这里需要删除掉之前的数据库中对应的表再同步数据库(鼠标右键点击blog_student表,在下拉菜单中选择“删除表”),
- 2)尽量不要直接删除数据库,如果里面有数据那么就完蛋了
- c:\djangoweb\helloworld>manage.py syncdb
- 7、反向同步数据库
- 1)在sqlite3可视化工具中添加新的数据类型,给student添加sex数据类型数据
- 2)新增teacher表,并创建id和name2个数据类型
- 3)执行反向同步数据库,manage.py inspectdb
- 4)效果:
- c:\djangoweb\helloworld>manage.py inspectdb
- # This is an auto-generated Django model module.
- # You'll have to do the following manually to clean this up:
- # * Rearrange models' order
- # * Make sure each model has one field with primary_key=True
- # Feel free to rename the models, but don't rename db_table values or field na
- s.
- #
- # Also note: You'll have to insert the output of 'django-admin.py sqlcustom [a
- name]'
- # into your database.
- from __future__ import unicode_literals
- from django.db import models
- class AuthGroup(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=80, unique=True)
- class Meta:
- db_table = 'auth_group'
- class AuthGroupPermissions(models.Model):
- id = models.IntegerField(primary_key=True)
- group_id = models.IntegerField()
- permission = models.ForeignKey('AuthPermission')
- class Meta:
- db_table = 'auth_group_permissions'
- class AuthPermission(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=50)
- content_type_id = models.IntegerField()
- codename = models.CharField(max_length=100)
- class Meta:
- db_table = 'auth_permission'
- class AuthUser(models.Model):
- id = models.IntegerField(primary_key=True)
- password = models.CharField(max_length=128)
- last_login = models.DateTimeField()
- is_superuser = models.BooleanField()
- username = models.CharField(max_length=30, unique=True)
- first_name = models.CharField(max_length=30)
- last_name = models.CharField(max_length=30)
- email = models.CharField(max_length=75)
- is_staff = models.BooleanField()
- is_active = models.BooleanField()
- date_joined = models.DateTimeField()
- class Meta:
- db_table = 'auth_user'
- class AuthUserGroups(models.Model):
- id = models.IntegerField(primary_key=True)
- user_id = models.IntegerField()
- group = models.ForeignKey(AuthGroup)
- class Meta:
- db_table = 'auth_user_groups'
- class AuthUserUserPermissions(models.Model):
- id = models.IntegerField(primary_key=True)
- user_id = models.IntegerField()
- permission = models.ForeignKey(AuthPermission)
- class Meta:
- db_table = 'auth_user_user_permissions'
- class BlogStudent(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=50)
- age = models.IntegerField()
- intime = models.DateTimeField()
- sex = models.IntegerField()
- class Meta:
- db_table = 'blog_student'
- class DjangoAdminLog(models.Model):
- id = models.IntegerField(primary_key=True)
- action_time = models.DateTimeField()
- user = models.ForeignKey(AuthUser)
- content_type = models.ForeignKey('DjangoContentType', null=True, blank=Tru
- object_id = models.TextField(blank=True)
- object_repr = models.CharField(max_length=200)
- action_flag = models.PositiveSmallIntegerField()
- change_message = models.TextField()
- class Meta:
- db_table = 'django_admin_log'
- class DjangoContentType(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=100)
- app_label = models.CharField(max_length=100)
- model = models.CharField(max_length=100)
- class Meta:
- db_table = 'django_content_type'
- class DjangoSession(models.Model):
- session_key = models.CharField(max_length=40, unique=True)
- session_data = models.TextField()
- expire_date = models.DateTimeField()
- class Meta:
- db_table = 'django_session'
- class DjangoSite(models.Model):
- id = models.IntegerField(primary_key=True)
- domain = models.CharField(max_length=100)
- name = models.CharField(max_length=50)
- class Meta:
- db_table = 'django_site'
- class Teacher(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=50)
- class Meta:
- db_table = 'teacher'
- c:\djangoweb\helloworld>
- 8、修改C:\djangoweb\helloworld\blog\models.py文件
- # Create your models here.
- #coding:utf-8
- from django.db import models
- """
- class Student(models.Model):
- name=models.CharField(max_length=50)
- age=models.IntegerField()
- intime=models.DateTimeField()
- """
- #修改为:
- class Student(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=50)
- age = models.IntegerField()
- intime = models.DateTimeField()
- sex = models.IntegerField()
- class Meta:
- db_table = 'student'
- 9、删除“blog_student”表并同步数据库manage.py syncdb
- 10、将数据类型等信息输出到models.py文件中
- 1)manage.py inspectdb > blog/models.py
- 2)查看models文件内容(删除多余后的效果):
- from django.db import models
- class Student(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=50)
- age = models.IntegerField()
- intime = models.DateTimeField()
- sex = models.IntegerField()
- class Meta:
- db_table = 'student'
- class Teacher(models.Model):
- id = models.IntegerField(primary_key=True)
- name = models.CharField(max_length=50)
- class Meta:
- db_table = 'teacher'
百度云盘:django之创建第8个项目-数据库配置及同步研究
django之创建第8个项目-数据库配置及同步研究的更多相关文章
- django之创建第8-3个项目-数据库数据提取之高级操作
1.配置test2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- django之创建第7-2个项目-url配置分离
1.urls.PY分离 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url # Uncomment ...
- django之创建第7个项目-url配置
1.配置urls.py from django.conf.urls import patterns, include, url #Uncomment the next two lines to ena ...
- django之创建第8-2个项目-数据库数据提取之过滤操作符相关
"""1)age__gt = 16等价于age > 162)age = 163)age__gte = 16等价于age >= 164)name__contai ...
- django之创建第7-1个项目-url配置高级
修改urls.PY文件 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url # Uncomment ...
- django之创建第11个项目-页面整合
目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head ...
- django之创建第10-1个项目-图片上传并记录上传时间
1.百度云盘:django之创建第10-1个项目-图片上传并记录上传时间 2.主要修改的配置文件有3个,forms.views和models3个文件以及html 3.forms.py文件修改 #cod ...
- django之创建第10个项目-图片上传方式1
1.upload.HTMl <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang=& ...
随机推荐
- EntityFramework6 快速入门教程【转】
https://www.cnblogs.com/wujingtao/p/5401113.html 不得不说EF在国内实在是太小众,相关的技术文章真实屈指可数,而且很多文章都很旧了,里面使用的版本跟如今 ...
- GIST特征描述符使用
来源:http://www.cnblogs.com/justany/archive/2012/12/06/2804211.html 一种场景特征描述 场景特征描述? 通常的特征描述符都是对图片的局部特 ...
- 五险一金 社保基数 住房公积金基数以及个税(By FlyElephant)
作为最近转正的应届毕业生,查了一下卡发现卡上的钱和工资对不上,于是自己回来研究了一下五险一金,整理如下: 什么是五险一金? 五险一金其中主要指的是养老保险,医疗保险,失业保险,工伤保险,生育保险,一金 ...
- LeakCanary 内存泄漏 监测 性能优化 简介 原理 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 使用Java开发微信公众平台(二)——消息的接收与响应
上一篇文章(http://www.jerehedu.com/fenxiang/171807_for_detail.htm )中,我们学习了使用Java语言开发微信公众平台的第一部分——环境搭建与开发接 ...
- MFC中卡拉OK字体的定时器实现,使用DC的DrawText函数实现
void CTextView::OnTimer(UINT_PTR nIDEvent) { m_nWidth += ; // 在构造函数中初始化为 0: CClientDC dc( this ); TE ...
- Laravel validate 500异常 添加手机验证,中文验证与Validator验证的“半个”生命周期
今天来讲一下,Lumen的Validator函数 1 2 3 4 5 6 7 8 9 10 11 use Validator; ... Class .. { public function ...
- 解决eclipse导出javadoc时的“错误: 编码GBK的不可映射字符”问题(转)
http://blog.csdn.net/psy1100/article/details/51179342 今天要将自己的API接口和MODEL导出来一份java doc参考文档, 但是在导出的时候却 ...
- C#获取程序启动目录
//WCF service: string servicePath = System.Web.Hosting.HostingEnvironment.MapPath("~"); // ...
- 五毛党可能要失业了,因为AI水军来了
当AI已经开始写稿.唱歌.翻译文章.把语音转录为文字的时候,我们其实应该清醒的认识到,五毛党要消亡了. 相信大部分人和小编一样,现在只要出门吃饭,就会打开大众点评搜好吃的,看评分,看网友的评论.一般来 ...