1.首先先创建表
class User(models.Model): name = models.CharField(max_length=50) age = models.IntegerField()
具体的类型:
AutoField:自动增长的IntegerField, 不指定时Django会自动创建属性名为id的自动增长属性
BooleanField:布尔字段,值为True或False
NullBooleanField:支持Null、True、False三种值
CharField(max_length=20):字符串
参数max_length表示最大字符个数
TextFiled:大文本字段,一般超过4000个字符时使用
IntegerField:整数
DecimalField(max_digits=None, decimal_places=None):可以指定精度的十进制浮点数
参数max_digits表示总位数
参数decimal_places表示小数位数
FloatField():浮点数
DateField[auto_now=False, auto_now_add=False]):日期
参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false
参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false
参数auto_now_add和auto_now是相互排斥的,组合将会发生错误
TimeField:参数和DateField一样
DateTimeField:日期时间,参数同DateField
FileField:上传文件字段,以二进制的形式
ImageField:继承于FileField,对上传的内容进行校验,确保是有效的图片
更多请参考文档
2.增删改查操作
增:User.objects.create(name='hehe')
还有其他集中方式这里不多写,之前有看过一个文章,同时也打印出了 执行的sql语句,这个无疑是效率最高的一种写法
删:1.del = User.objects.get(name="hehe") 定位到要删除的数据
2.del.delete() 执行删除操作
改:User.objects.filter(name="hehe").update("hehe01")
查:User.objects.all() 查询出所有
User.objects.filter(name="hehe") filter相当于where