Django的模型类相当于数据库的一张表,模型类的实例对象相当于表中的一行内容
Django提供了多种创建对象的方式,常用如下:
通过create()方法 1、Person.objects.create(name=name,age=age) 通过实例化对象时来创建 2、p = Person(name="WZ", age=23) p.save() 通过实例化对象和对象属性赋值来创建 3、p = Person(name="TWZ") p.age = 23 p.save() 通过get_or_create()方法 4、Person.objects.get_or_create(name="WZT", age=23) 这种方式可以有效地避免对象重复问题,推荐使用!
对于获取对象,Django同样提供了多种方式供给开发者选择,常用的如下:
通过all()方法 1、User.objects.all() 通过get()方法 2、User.objects.get(字段=值) 通过filter()方法 3、User.objects.filter(字段__contains=值) contains前双下划线 通过values_list()方法 4、User.objects.values_list(字段1,字段2) 注:如果只需要一个字段,第二个参数传入flat=True。 通过values() 5、User.objects.values(字段1,字段2) 这个返回的是一个类字典对象 通过extra()方法 6、User.objects.extra(select={'别名':'原始名称'}) 注:可以使用defer('原始名称')来避免重复查询,可以使用query属性查看具体的SQL语句。
Django模型类Field types总结:
常用参数: null:放一个NULL作为字段的默认值 blank:可以为空值 default:默认的值 choices:将文本框替换为选择框 例如: rom django.db import models class Person(models.Model): GENDER_CHOICES = ( (u'M', u'Male'), (u'F', u'Female'), ) name = models.CharField(max_length=60) gender = models.CharField(max_length=2, choices=GENDER_CHOICES) 注:二元元组的第一个参数是会存储到数据库的数据,第二个元素是在admin中显示的数据。 primary_key:设置主键 unique:该字段在该表中唯一 verbose_name:就是字段的名称,默认使用字段名为名称,如果有下划线会被Django替换为空格。
及时行乐