django学习笔记三

来源:互联网 发布:淘宝男士护肤 编辑:程序博客网 时间:2024/06/02 01:00
运行django出现 Error: [Errno 10013]的错误,是因为8000端口被占用了,我本地开了酷狗音乐,将它退出即可,或者是运行django时换一个端口即可。


配置数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 'django.db.backends.sqlite3',数据库类型
        'NAME': 'cc',  # os.path.join(BASE_DIR, 'db.sqlite3'),数据库名
        'USER': 'root',  # 用户名
        'PASSWORD': '770880',  # 密码
        'HOST': 'localhost',  # 数据库主机,为空默认localhost
        'PORT': '3306',  # 数据库端口
    }
}


首先,用下面的命令对校验模型的有效性:
python manage.py validate
在django 1.7版本后不支持此命令,改用python manage.py check,运行后没有错误显示
System check identified no issues (0 silenced).


将模型映射到数据库中:python manage.py syncdb
在django 1.9.x版本中已被移除,用python manage.py migrate代替,但仅仅是添加没有的数据库表,并不能修改或删除




对模型的操作:
得到所有的数据:X.objects.all()---X表示映射模型的类名


获得一个子集:X.objects.filter(name="abc")---查找名字这条属性值为abc的数据,可以传递多个参数,用逗号隔开,如(name="abc",password="123")


获得单个数据:X.objects.get(name="abc")---不可查询多个或0个满足条件的情况


将数据进行排序:X.objects.order_by("name")---根据name属性进行排序
也可多个字段排序:X.objects.order_by("name","password")
也可以逆向排序:X.objects.order_by("-name")


在模型中常用的方法:
def __str__(self): ---对于查询到的返回值能够显示该项属性
return self.name


**class Meta:**
**ordering = ["name"]**  ---表示根据name排序


对方法可以组合使用,如:Publisher.objects.filter(country="U.S.A.").order_by("-name")


显示查询数据的第x个:Publisher.objects.all()[0]---只取第一个
MyModel.objects.all()[:5]---取前5个


对象的常用方法:x.save()--保存  x.delete()---删除
0 0