没有合适的资源?快使用搜索试试~ 我知道了~
前言 本文主要给大家介绍了关于Django中Model使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 创建模型 使用Django的模型主要注意两个方面:字段的类型和方法的重写。这里用一个例子来说明,其中包含了常用的字段类型和如何重写方法。 from django.db import models class School(models.Model): pass class Message(models.Model): pass class Teacher(models.Model): pass class Student(models.Model)
资源详情
资源评论
资源推荐

Django中中Model的使用方法教程的使用方法教程
前言前言
本文主要给大家介绍了关于Django中Model使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的
介绍吧。
创建模型创建模型
使用Django的模型主要注意两个方面:字段的类型和方法的重写。这里用一个例子来说明,其中包含了常用的字段类型和如
何重写方法。
from django.db import models
class School(models.Model):
pass
class Message(models.Model):
pass
class Teacher(models.Model):
pass
class Student(models.Model):
GENDER_CHOICES = (
('male', "男"),
('female', "女"),
('secret', "保密")
)
name = models.CharField(max_length=40, blank=True, verbose_name="姓名")
gender = models.CharField(max_length=6, choices=GENDER_CHOICES, default="secret", verbose_name="性别")
age = models.IntegerField(default=0, verbose_name="年龄")
rank = models.PositiveIntegerField(default=1, verbose_name="排名", unique=True)
discount = models.DecimalField(max_digits=3, decimal_places=2, verbose_name="折扣", default=1.0)
school = models.ForeignKey(to=School, verbose_name="学校", on_delete=models.CASCADE)
message = models.OneToOneField(to=Message, verbose_name="信息", on_delete=models.CASCADE)
teacher = models.ManyToManyField(verbose_name="老师", to=Teacher, blank=True)
introduce = models.TextField(blank=True, verbose_name="介绍")
grade = models.FloatField(default=0.0, verbose_name="成绩")
url = models.URLField(verbose_name="个人主页", max_length=100)
email = models.EmailField(verbose_name="邮箱")
image = models.ImageField(upload_to='img/%Y/%m/%d/', verbose_name='上传图片', null=True)
file = models.FileField(upload_to="file/%Y/%m/%d/", verbose_name="上传文件", blank=True)
is_deleted = models.BooleanField(verbose_name="已删除", default=False, blank=True)
time_added = models.DateTimeField(verbose_name="添加时间", auto_now_add=True, blank=True)
def delete(self, using=None, keep_parents=False):
self.is_deleted = True
# some actions
self.save()
def save(self, force_insert=False, force_update=False, using=None,
update_fields=None):
# some actions
self.name = self.name.capitalize() # 首字母大写
return super().save(force_insert=force_insert, force_update=force_update, using=using,
update_fields=update_fields)
def __repr__(self):
return "UserProfile:{}".format(self.name)
def __str__(self):
return self.name
class Meta:
ordering = ['-time_added'] verbose_name = "用户信息"
verbose_name_plural = verbose_name
db_table = "student_info"
字段类型字段类型
这里对常见字段中值得注意的地方作一下说明。
CharField
字符串类型值得注意的是当该字段只能在是某些指定的值时,要使用choices参数来指向预先设定的值。
IntergerField & PositiveIntegerField


























weixin_38553681
- 粉丝: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 数据库实验2:表的创建与管理.docx
- 专起本《工程项目管理》C试卷.doc
- 国家开放大学电大《桥梁工程技术》《会计学概论》网络课形考网考作业(合集)答案.docx
- 字形字体处理C语言课程设计范文.doc
- 网络游戏市场分析及媒体投放分析报告.pptx
- 最新毕业论文基于PLC的自动卷帘门控制系统.doc
- 制冷系统安全技术操作规程.doc
- 机械自动化设备优化策略分析获奖科研报告论文.docx
- 基于PLC与触摸屏的恒压供水电气系统设计.doc
- 告别网络游戏PPT课件.ppt
- 计算机体系结构实验报告二.doc
- 小程序如何运营?.docx
- 综合布线工程竣工验收报告样本.doc
- 2023年职称计算机试题及答案.doc
- 选煤工艺流程软件开发平台的选择.doc
- 综合楼综合布线系统方案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0