1.Django使用MySQL配置
pip3 install pymysql
pip3 install mysqlclient
使用MySQL需要在settings.py中配置
DATABASES = { ‘default‘: { ‘ENGINE‘:‘django.db.backends.mysql‘,#选择mysql数据库 ‘NAME‘:‘my_app‘,#数据库的名字 ‘USER‘:‘root‘,#mysql数据库的用户名 ‘PASSWORD‘:‘123456‘,#mysql数据库的密码 ‘HOST‘:‘127.0.0.1‘,#mysql数据库的主机名 ‘POST‘:3306,#mysql数据库的端口号(这个可写可不写) } }
2.Django与MySQL交互
(1)创建数据库的表类,类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段
(2)对数据库表进行同步操作,python manage.py makemigrations,python manage.py migrate
(3)使用数据库表类,进行数据库的增删改查操作。
3.字段类型详解
#django的models里面字段类型除了上面的常用的 models.CharField和models.IntegerField,还有更多的类型 # # 1.models.AutoField 自增列= int(11) # 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。 # 2.models.CharField 字符串字段 # 必须 max_length 参数 # 3.models.BooleanField 布尔类型=tinyint(1) # 不能为空,Blank=True # 4.models.ComaSeparatedIntegerField 用逗号分割的数字=varchar # 继承CharField,所以必须 max_lenght 参数 # 5.models.DateField 日期类型 date # 对于参数,auto_now =True则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。 # 6.models.DateTimeField 日期类型 datetime # 同DateField的参数 # 7.models.Decimal 十进制小数类型= decimal # 必须指定整数位max_digits和小数位decimal_places # 8.models.EmailField 字符串类型(正则表达式邮箱)=varchar # 对字符串进行正则表达式 # 9.models.FloatField 浮点类型= double # 10.models.IntegerField 整形 # 11.models.BigIntegerField 长整形 # integer_field_ranges ={ # ‘SmallIntegerField‘:(-32768,32767), # ‘IntegerField‘:(-2147483648,2147483647), # ‘BigIntegerField‘:(-9223372036854775808,9223372036854775807), # ‘PositiveSmallIntegerField‘:(0,32767), # ‘PositiveIntegerField‘:(0,2147483647), # } # 12.models.IPAddressField 字符串类型(ip4正则表达式) # 13.models.GenericIPAddressField 字符串类型(ip4和ip6是可选的) # 参数protocol可以是:both.ipv4.ipv6 # 验证时,会根据设置报错 # 14.models.NullBooleanField 允许为空的布尔类型 # 15.models.PositiveIntegerFiel 正Integer # 16.models.PositiveSmallIntegerField 正smallInteger # 17.models.SlugField 减号.下划线.字母.数字 # 18.models.SmallIntegerField 数字 # 数据库中的字段有:tinyint.smallint.int.bigint # 19.models.TextField 字符串=longtext # 20.models.TimeField 时间 HH:MM[:ss[.uuuuuu]] # 21.models.URLField 字符串,地址正则表达式 # 22.models.BinaryField 二进制 # 23.models.ImageField图片 # 24.models.FilePathField文件
对应的字段参数详解
#1.null=True # 数据库中字段是否可以为空 # 2.blank=True # django的 Admin 中添加数据时是否可允许空值 # 3.primary_key = False # 主键,对AutoField设置主键后,就会代替原来的自增 id 列 # 4.auto_now 和 auto_now_add # auto_now 自动创建---无论添加或修改,都是当前操作的时间 # auto_now_add 自动创建---永远是创建时的时间 # 5.choices # GENDER_CHOICE = ( # (u‘M‘, u‘Male‘), # (u‘F‘, u‘Female‘), # ) # gender = models.CharField(max_length=2,choices = GENDER_CHOICE) # 6.max_length # 7.default 默认值 # 8.verbose_name Admin中字段的显示名称 # 9.name|db_column 数据库中的字段名称 # 10.unique=True 不允许重复 # 11.db_index = True 数据库索引 # 12.editable=True 在Admin里是否可编辑 # 13.error_messages=None 错误提示 # 14.auto_created=False 自动创建 # 15.help_text 在Admin中提示帮助信息 # 16.validators=[] # 17.upload-to
4.实际操作
原文:https://www.cnblogs.com/chushujin/p/12481981.html