婧若钰熙 发表于 2023-1-30 16:48:24

Django连接数据库

Mysql配置

搭建mysql服务,保证能正常运行
pip install mysqlclient
Setting配置数据库

如下是mysql数据库的配置

 同步数据库

先生成表结构,检查是否有表结构变更:python manage.py makemigrations
再同步数据库:python manage.py migrate

同步完成后查看数据库能看到生成的表,如下

设计表

在models.py中根据需要编写表模型,如下,再通过python manage.py makemigrations和python manage.py migrate命令将表同步至数据库

同步完成后可以在数据库中看到表,如下,表名会以 appname_ 开头


 设计表时常用的一些参数


[*]主键:如果没有设计主键,则默认id就是主键,如上图id为主键
    也可自定义主键:primary_key=True,如 uid = models.IntegerField(primary_key=True) 就是设置uid为主Email:models.EmailField() 会自动检验Email格式

[*]默认值:models.CharField(default="xxx")  用default参数设置默认值
[*]最大长度:models.CharField(max_length=10)  用max_length设置字段最大长度,Int最大长度11,Biginter最大长度20
[*]空:name = models.CharField(null=True,blank=True,default='xx')

[*]null=True,表示数据库创建时该字段可不填,用NULL填充
[*]blank=True,表示代码中创建数据库记录时该字段可传空白(空串,空字符串)

[*]文本类型:text = models.TextField(null=True, blank=True)
[*]图片类型:img = models.ImageField()
[*]时间类型:timestr = models.DateTimeField() #日期+时间类型,2023-12-12 23:34:44

date = models.DateField() #日期类型,2023-12-12

time = models.TimeField() #时间类型,23:34:44  



[*]auto_now 自动创建---无论添加或修改,都是当前操作的时间 updatetime = models.DateTimeField(auto_now=True)
[*]auto_now_add 自动创建---永远是创建时的时间  creattime = models.DateTimeField(auto_now_add=True)

[*]文件类型:file = models.FileField()
[*]布尔值:status = models.BooleanField()
 

来源:https://www.cnblogs.com/roselearn/p/17075119.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Django连接数据库