温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ORM的使用

发布时间:2020-07-13 01:45:39 来源:网络 阅读:261 作者:qq5ce69b6b60f8f 栏目:开发技术

创建数据库表
一、在models.py 中种创建模型类
#一个表对应一个模型类

class BookInfo(models.Model):
    # 每一个字段对应 表中的一列
    title = models.CharField(max_length=30)
    #auto_now_add=True 意味着默认时间为 该行插入时间
    pub_date = models.DateTimeField(auto_now_add=True)
class HeroInfo(models.Model):
    name = models.CharField(max_length=30)
    #bool 类型性别  默认值为true 代表男
    gender = models.BooleanField(default=True)
    #null = True 代表该列可以为空
    skill = models.CharField(max_length=50,null=True)
    #ForeignKey 表名和BookInfo为多对一关系
    #book 的类型 BookInfo
    book = models.ForeignKey(BookInfo,on_delete=models.CASCADE)

二、生成迁移文件
在 manage.py 目录
Python manage.py makemigrations
该命令会在应用的migrations目录生成 带有编号的迁移文件
三、执行迁移文件
在 manage.py 目录
Python manage.py migrate

Django默认使用sqlite3 数据库
上述命令会在项目根目录生成sqlite3.db

**** 迁移文件 需要预先注册应用
四、使用Shell命令行测试django数据
Python manage.py shell

From booktest.models import BookInfo,HeroInfo

1、查询
得到所有
BookInfo.objects.all()

关联查询:
一找多: 一方对象. 多方类名小写_set.all()
多找一:通过多方模型类中存储的一方字段

2、插入
构造对象 b1
b1.save()
3、修改
对象.save() 会将对象中更改的字段保存到数据库
4、删除
对象.delete()
五、每一个模型类都自带管理器对象 objects(Manage类型)
通过objects操作对象

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI