Django模型基础第三节:常用的模型字段类型以及表关系的实现

常用的字段类型映射关系:

int ---------------IntegetField
varchar------------------CharField
longtext------------TextField
date--------------DateField
datetime----------------DateTimeField

常用的字段类型:

  1. IntegerField : 整型,映射到数据库中的int类型。
  2. CharField: 字符类型,映射到数据库中的varchar类型,通过max_length指定最大长度。
  3. TextField: 文本类型,映射到数据库中的text类型。
  4. BooleanField: 布尔类型,映射到数据库中的tinyint类型,在使用的时候,传递True/False进去。如果要可以为空,则用NullBooleanField。
  5. DateField: 日期类型,没有时间。映射到数据库中是date类型,
    在使用的时候,可以设置DateField.auto_now每次保存对象时,自动设置该字段为当前时间。设置DateField.auto_now_add当对象第一次被创建时自动设置当前时间。
  6. DateTimeField: 日期时间类型。映射到数据库中的是datetime类型,
    在使用的时候,传递datetime.datetime()进去。

Field的常用参数:

primary_key: 指定是否为主键。
unique: 指定是否唯一。
null: 指定是否为空,默认为False。
blank: 等于True时form表单验证时可以为空,默认为False。
default: 设置默认值。
DateField.auto_now: 每次修改都会将当前时间更新进去,只有调用,QuerySet.update方法将不会调用。这个参数只是Date和DateTime以及TimModel.save()方法才会调用e类才有的。
需要save方法储存
DateField.auto_now_add: 第一次添加进去,都会将当前时间设置进去。以后修改,不会修改这个值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表关系的实现:

一对多------外键--------ForeignKeyField
一对一-----外键+唯一键--------OneToOneField
多对多--------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django是一个基于Python的Web框架,其中最重要的组件之一就是模型(Model)。模型是用于定义数据结构和数据访问方法的类,它允许开发人员使用面向对象的方式来管理数据库。下面是Django模型的定义方法和使用方法: 1. 定义模型 要定义一个Django模型,需要在一个Python文件中导入Django的`models`模块,并定义一个继承自`models.Model`的类。在这个类中,可以定义各种属性,每个属性都代数据库中的一个字段。例如,下面是一个简单的模型定义: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) pub_date = models.DateField() ``` 这个模型定义了一个`Book`类,它有三个属性:`title`、`author`和`pub_date`。这些属性分别对应数据库中的一个字符串字段、一个日期字段和一个字符串字段。 2. 迁移数据库 一旦定义了模型,就需要迁移数据库。Django提供了一个命令行工具来处理数据库迁移,只需要在终端中运行以下命令: ```bash python manage.py makemigrations python manage.py migrate ``` 第一条命令会生成一个迁移文件,它包含了所有需要在数据库中添加、删除或修改的格和字段。第二条命令会根据迁移文件来更新数据库。 3. 使用模型 一旦数据库迁移完成,就可以使用模型来访问数据了。Django提供了一个ORM(对象关系映射)系统,它允许开发人员使用面向对象的方式来访问数据库。 例如,要在数据库中创建一本新书,可以使用以下代码: ```python book = Book(title='Python编程', author='Guido van Rossum', pub_date='1991-02-20') book.save() ``` 这个代码会创建一个`Book`对象,并将其保存到数据库中。 要查询数据库中的数据,可以使用以下代码: ```python books = Book.objects.filter(author='Guido van Rossum') for book in books: print(book.title) ``` 这个代码会查询数据库中所有作者是'Guido van Rossum'的书,并打印它们的标题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值