在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
1.1在设置中,配置数据库的相关参数,因此,无需修改,让我们来看一下:
数据库= {
" 默认 " :{
# 在这里您可以指定使用的数据库类型,例如mysql
" 引擎 ":" django.db.backends.mysql " ,
" 名称 ":" djangomysql " ,
" USER ":" 根 " ,
" 密码 ":" ****** " ,
" 主机 ":" localhost " ,
" 端口 ":" 3306 " ,
" 选项 ":{" Isolation_level " :无}
}
}
\
\
1.2编译models.py Django通过自定义python类定义了特定模型。每个模型的物理存在都是一个Python类,每个模型都代表数据库中的一个表,
每个类的一个实例代表数据库中的一行数据,而该类中的每个变量代表数据库中的一列字段。 Django通过模型将Python代码和数据库操作结合起来,以封装SQL查询语言。
也就是说,您不能管理数据库,不能说SQL语言,也可以使用python代码来操作数据库。 DJango通过ORM操作数据库。让我们直接看下面的代码:
来自 django.db import 型号 # 在此处创建模型。
类 UserInfo(models.Model):
"""
创建两个字段,最大长度为32,类型为char
"""
用户 = models.CharField(max_length = 32 )
pwd = models.CharField(max_length = 32 )
# 在这里,我们创建了两个字段来分别存储用户的名称和密码。
# 上面的代码等效于以下本机SQL语句。
创建表UserInfo(
" id " 串行NOT NULL PRIMARY KEY,
" 用户 " varchar(30 )NOT NULL,
" pwd " varchar(30 )NOT NULL
);
\
注意:
Django默认会自动创建自动递增的主键ID。当然,您也可以自己指定主键。上面的SQL语法基于PostgreSQL的更多字段和参数。每个字段都有一些唯一的参数
例如,CharField需要max_length参数来指定VARCHAR数据库字段的大小。还有一些通用参数适用于所有字段。这些参数在文档中详细定义,
我们在这里学习最常用的方法:
\ lt; 1 \\> CharField
字符串字段,用于较短的字符CharField需要一个参数maxlength,该参数用于限制从字符串中该字段允许的最大字符数。数据库层和Django验证层。
\ lt; 2 \\> IntegerField
用于存储整数。
\ lt; 3 <> FloatField
一个浮点数。必须提供两个参数:
参数说明
max_digits位数(不包括小数点和符号)
decimal_places十进制数字
例如,将最大值保存为999(小数点后2位),您可以必须定义如下字段:
models.FloatField(…,max_digits = 5,十进制位置= 2)
如果要保存一百万的最大值(十个小数位),则必须定义:
models.FloatField(…,max_digits = 19,decimal_places = 10)
管理员使用文本框(\ lt;输入类型=” text” \ gt;)来代表此字段中保存的数据。
\ lt; 4 \\> AutoField
IntegerField,当添加记录时,它将自动增长。通常,您无需直接使用此字段;
自定义主键:my_id = models.AutoField(primary_key = True)
如果未指定主键,则系统将自动向模型添加主键字段。
\ lt; 5 \\> BooleanField
一个true/false字段。管理员使用复选框来表示此类字段。
\ lt; 6 \\> TextField
大文本字段。
管理员使用\ lt; textarea; (文本区域)指示字段的数据。 (多行编辑框)。
\ lt; 7 \\> EmailField
用于检查Email有效性的CharField不接受maxlength参数。
\ lt; 8 \\> DateField
日期字段。还有以下其他可选参数:
参数说明
auto_now在保存对象时自动将此字段的值设置为当前时间。通常用于指示”最后修改的”时间戳。
首次创建对象时,auto_now_add自动设置此字段。设置为当前时间。
通常用于指示对象创建的时间。 (仅对管理员有意义…)
\ lt; 9 \\> DateTimeField
日期时间字段。与DateField相似,它支持相同的其他选项。
更多参数
(1)null
如果为True,则Django将在数据库中使用NULL。 。默认值为False。
(1)空白
如果为True,则允许将该字段保留为空白。默认值为False。
请注意,这与null不同。 Null仅在数据库类别中,而空白在数据验证类别中。
如果字段的空白= True,则表单验证将允许该字段为空。如果空白= False字段,则必须填写该字段。
(2)默认
字段的默认值。可以是值或可调用对象。如果可以调用,则每次创建新对象时都会调用它。
(3)primary_key
如果为True,则此字段为模型的主键。如果您未为任何字段指定primary_key = True,
Django会自动添加一个IntegerField字段作为主键,因此,除非您想覆盖默认的主键行为,否则
无需设置任何primary_key = True。
(4)唯一
如果将该值设置为True,则此数据字段的值在整个桌子
(5)选择
由两个元组(例如,列表或元组)组成的可迭代对象,用于提供该字段的选项。如果设置了选项,则默认表单将是选择框,而不是标准文本框,并且此选择框的选项是选项中的选项。
\
在终端中创建表我们需要通过pycharm终端中的命令创建数据库表。有两个命令:
生成同步数据库的脚本代码
python manage.py makemigrations
通过运行makemigrations命令,相当于告诉Django您已对模型进行了更改,并且您想将这些更改保存为”迁移”。
migrations是Django保存模型修改记录的文件。这些文件保存在磁盘上。我们可以打开该文件并进行查看。内容都是可读且可编译的内容,这方便我们随时手动进行修改。
然后同步数据库:
python manage.py migration
如果您修改数据库模型:
删除应用程序项目中的迁移文件
重复以上两个步骤
\