lxinghua

博客园 首页 新随笔 联系 订阅 管理

一、常用的查询

常用的查询方法:

常用的查询条件

注:查询对象的条件的意思是传给以下方法的一些参数。相当于是SQL语句中的where语句后面的条件,语法为字段名_规则(下划线连接)

rs =  User.objects.filter(name__in = ['xiaoming', 'xiaopo' ])  名字在其中的

二、 常用的模型字段类型

字段类型映射关系:

IntegerField  ------>  int  整型,映射到数据库中的int类型

CharField ------>  varchar  字符类型,映射到数据中的varchar类型,通过max_length指定最大长度

TextField ------> longtext  文本类型, 映射到数据库中的text类型

DateField ------> date   日期类型,没有时间,映射到数据库中的date类型,在使用的时候,可以设置DateField.auto_now每次保存对象时,自动设置该字段为当前时间。设置DateField.auto_now_add当对象第一次被创建时自动设置当前时间

DateTimeField ------> datetime   日期时间类型,映射到数据库中的datetime类型,在使用的时候,传递datetime.datetime()进去

BooleanFiled ------> tinyint 布尔类型,映射到数据库中的tinyint类型,在使用的时候,传递True/False进去。如果要可以为空,则用NullBooleanField

AutoField  自动生成序列号类型

三、 Field的常用参数

primary_key: 指定是否为主键

unique:指定是否唯一

null:指定是否为空,默认为False

blank:等于True时form表单验证时可以为空,默认为False

default:设置默认值

DateField.auto_now:每次修改都会将当前时间更新进去,只有调用,QuerySet.update方法将不会调用。这个参数只是Date和DateTime以及TimModel.save()方法才会调用e类才有的。

DateField.auto_now_add:第一次添加进去,都会将当前时间设置进去。以后修改,不会修改这个值。

例子:

1. 创建模型类(在app的models.py文件中创建)

注:为准确记录时间点,需要在setting.py文件中修正一下信息:

2. 执行生成映射文件的命令后,查看数据表

3. 插入数据(视图文件中带入User模型类,定义添加函数)

4. 查看插入的数据

四、表关系的实现

例子

1. 表关系图

2. 分析表对应关系

3. 创建模型类

    department = models.ForeignKey('Department',        on_delete=models.SET_NULL, null=True)
    # models.SET_NULL 表示在所关联的表对应的信息被删除后,此处信息可以变更为null
    # models.CASCADE 表示在所关联的表对应的信息被删除后,此处信息一并删除

4. 写好模型类后,执行生成映射文件的命令

python manage.py makemigrations

python manage.py migrate

那么数据库中就会生成对应的数据表

posted on 2023-05-22 10:51  興華  阅读(8)  评论(0编辑  收藏  举报