【django入门】 08 [用户管理实战] 实例
2022/2/11 6:15:06
本文主要是介绍【django入门】 08 [用户管理实战] 实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Pycharm小技巧
Ctrl + Alt + R,打开manage.py命令行,更快地执行startapp、migrate等命令
设计数据库(部门、用户)
- 添加表的描述,以""" """包裹
- 添加字段的描述,verbose_name = ""
- CharField 必须指定max_length
- id = models.BigAutoField(verbose_name="ID", primary_key=True) 这一句django自动在后台写好,不需要写
- 因为apps.py里有: default_auto_field = 'django.db.models.BigAutoField'
- 当然,也因此允许编码人员做自定义修改
- 注意DecimalField规定数位数、小数位数的语句
- ForeignKey:有约束地关联到部门ID(值必须为Department表中实际值)
- ForeignKey:如果只写“depart”,生成数据库列时,django会自动添加“_id”
- ForeignKey:如果写了“depart_id”,生成数据库列时,django仍然会自动添加“_id”,造成有两个“_id”
- CASCADE:部门表删除数据行时,同时删除相关的员工表里的数据行(级联删除)
- SET_NULL:部门表删除数据行时,同时清空相关的员工表里的该字段(置空)
- 以元祖规定的约束——节省表的数量,同时节省本表空间
class Department(models.Model): """ 部门表 """ title = models.CharField(verbose_name='标题', max_length=32) class UserInfo(models.Model): """ 员工表 """ name = models.CharField(verbose_name='标题', max_length=32) password = models.CharField(verbose_name='密码', max_length=64) age = models.IntegerField(verbose_name='年龄') account = models.DecimalField(verbose_name='工资', max_digits=10, decimal_places=2, default=0) create_time = models.TimeField(verbose_name='入职时间') depart_id = models.ForeignKey(to='Department', to_field='id', on_delete=models.CASCADE) depart_id = models.ForeignKey(to='Department', to_field='id', blank=True,null=True, on_delete=models.SET_NULL) gender_choices=( (1, "男"), (2, "女"), ) gender =models.SmallIntegerField(verbose_name="性别",choices=gender_choices)
-
使用ForeignKey关联部门表ID
好处:节省服务器空间(大部分公司这么做,关系型数据库) -
不使用ForeignKey,直接存值
好处:减少查询返回时间(互联网巨头才这么做,由于表被特别频繁地访问)
来源:BV1NL41157 武沛齐《2022 B站最详细django3教程(django从入门到实践)》P19-P22
这篇关于【django入门】 08 [用户管理实战] 实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用
- 2024-10-24AI ?先驱齐聚 BAAI 2024,发布大规模语言、多模态、具身、生物计算以及 FlagOpen 2.0 等 AI 模型创新成果。
- 2024-10-20goland工具下,如修改一个项目的标准库SDK的版本-icode9专业技术文章分享
- 2024-10-17Go学习:初学者的简单教程
- 2024-10-17Go学习:新手入门完全指南
- 2024-10-17Golang学习:初学者入门教程
- 2024-10-17Golang学习:新手入门教程
- 2024-10-17Gozero学习指南:初学者必备教程
- 2024-10-17GoZero学习:新手入门与实践指南
- 2024-10-17Go Zero入门:新手必读指南