Django框架 - 05 模型使用例子

模型使用例子

1.数据库准备

在model中定义数据库,其中的性别,男的存1,女的存0。
“`python
class Student(models.Model):
stuname = models.CharField(max_length=20)
studex = models.BooleanField()
stubirth = models.DateField()
stutel = models.CharField(max_length=255)

class Meta:
    db_table = 'student'
```
2.数据库迁移
python manage.py makemigrations
python manage.py migrate
3. 数据插入
(1)使用表单form提交post请求数据
<form action="/app/addStu/" method="post">
    stuname: <input type="text" name="name">
    stusex: <input type="text" name="sex">
    stubirth: <input type="date" name="birth">
    stutel: <input type="text" name="tel">
    <input type="submit" value="提交">
</form>
(2)获取post请求,获取请求数据,并且创建数据
方法1:
stu = Student()
stu.stuname = stuname
stu.stusex = sex
stu.stubirth = birth
stu.stutel = tel
stu.save()

方法2:
Student.objects.create(stuname=stuname, stusex=sex, stubirth=birth, stutel=tel)
4. 查询所有的学生信息

使用all()方法获取所有的数据

Student.objects.all()
5. 查询所有女学生的姓名和出生日期
Student.objects.filter(stusex=0)
或者
Student.objects.exclude(stusex=1)

其中:
filter():返回符合条件的数据
exclude():过滤掉符合条件的数据
6.查询所有的学生,按照id从大到小排序
Student.objects.all().order_by('-id')

其中:
order_by('id'):表示按照id升序的排列
order_by('-id'):表示按照id降序的排列
7. 查询单个数据
get():返回一个满足条件的对象。如果没有返回符合条件的对象,会应该模型类DoesNotExist异常,如果找到多个,会引发模型类MultiObjectsReturned异常

first():返回查询集中的第一个对象

last():返回查询集中的最后一个对象

count():返回当前查询集中的对象个数

exists():判断查询集中是否有数据,如果有数据返回True,没有返回False
8.查询所有80后学生的姓名、性别和出生日期(筛选)
Student.objects.filter(stubirth__gte='1980-01-01', stubirth__lte='1990-01-01')
9.查询名字中有王字的学生姓名(模糊)
Student.objects.filter(stuname__contains='王')
10.查询姓王的学生姓名和性别(模糊)
Student.objects.filter(stuname__startswith='王')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django框架模型层(models)是用于定义应用程序中的数据模型的一组类。它们以Python类的形式定义,每个类表示一个数据库表,每个属性表示表中的一个字段。模型层提供了一个简单的API来执行各种数据库操作,如创建、读取、更新和删除(CRUD)。 在Django中,模型层是使用ORM(对象关系映射)来实现的,ORM是一种将数据库表映射到对象的技术。通过ORM,我们可以使用Python代码来创建、查询和操作数据库,而不需要编写SQL语句。 在编写模型时,我们可以指定各种字段类型,如CharField、IntegerField、ForeignKey等,以及各种选项,如null、blank、default等。还可以定义模型方法和属性,以及各种元数据,如排序方式、表名等。 例如,以下是一个简单的模型类定义: ```python from django.db import models class Author(models.Model): name = models.CharField(max_length=100) email = models.EmailField() def __str__(self): return self.name ``` 在上面的例子中,我们定义了一个Author类,它表示一个数据库表。这个表有两个字段:name和email,都是CharField和EmailField类型。我们还定义了一个__str__方法,以便在调试时能够轻松地查看对象。 在Django中,我们可以使用以下命令来执行各种数据库操作: - python manage.py makemigrations:创建数据库迁移文件。 - python manage.py migrate:执行数据库迁移操作。 - python manage.py shell:进入Django shell,可以使用Python代码来操作数据库。 总之,Django框架模型层提供了一个方便的方法来定义和操作数据库模型。它简化了我们的开发工作,使我们能够更专注于业务逻辑的实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值