文档章节

Django-模型

cold丶
 cold丶
发布于 2015/08/14 16:59
字数 570
阅读 36
收藏 6

基于MVC框架models。views。controller

M(moedels)T(template)V(views)

数据库配置:

 支持:PostgreSQL、MYSQL、ORACLE、SQLite.

在setting.py文件中配置: ' '

  DATABASE_ENGINE= ' '  数据库引擎

  DATABASE_NAME= ' '    数据库名

  DATABASE_USER= ' '      用户名

  DATABASE_PASSWORD= ' ' 密码

  DATABASE_HOST = ' '     主机

一些常见错误

错误信息 解决方法
You haven’t set the DATABASE_ENGINE setting yet. 不要以空字符串配置`` DATABASE_ENGINE`` 的值。 表格 5-1 列出可用的值。
Environment variable DJANGO_SETTINGS_MODULE is undefined. 使用`` python manager.py shell`` 命令启动交互解释器,不要以`` python`` 命令直接启动交互解释器。
Error loading _____ module: No module named _____. 未安装合适的数据库适配器 (例如, psycopg  MySQLdb )。Django并不自带适配器,所以你得自己下载安装。
_____ isn’t an available database backend. DATABASE_ENGINE 配置成前面提到的合法的数据库引擎。 也许是拼写错误?
database _____ does not exist 设置`` DATABASE_NAME`` 指向存在的数据库,或者先在数据库客户端中执行合适的`` CREATE DATABASE`` 语句创建数据库。
role _____ does not exist 设置`` DATABASE_USER`` 指向存在的用户,或者先在数据库客户端中执创建用户。
could not connect to server 查看DATABASE_HOST和DATABASE_PORT是否已正确配置,并确认数据库服务器是否已正常运行。

创建第一个程序

models.py

from django.db import models          
class Publisher(models.Model):        #Publisher:出版商
    name = models.CharField(max_length = 10)
    address = models.CharField(max_length = 50)
    city = models.CharField(max_length = 20)
    state_province = models.CharField(max_length=30)
    country = models.CharField(max_length=50)
    website = models.URLField()
    
    foreign = models.ForeignkeyField(max_length = 20) #外键约束
    data = models.DataField(max_length = 20)          #日期型 TimeFileld、DateTimeField
    flt = models.FloatField(max_length = 20)          #数字型 IntegerField、DecimalField

 表名 = app名称+小写类名(会把_替换为空格)       

python manage.py validate(验证有效性)

python manage.py syncdb (创建数据表)

python manage.py sqlall app名(显示创建表SQL语句)

 在每个模型里加入__unicode__()方法

    def __unicode__():

            return u'%s %s' % (self.name,self.city)

插入更新数据

p = Publisher(name = 'jay', city = 'CHINA', country='bj')

p.save()

p = Publisher.objects.getname(name='joy')

p.name = 'jjj'

p.save()

查询数据

Publisher.objects.all()          #相当于select *   取出全部数据

Publisher.objects.filter(name = 'joy') #相当于 where name="joy" 

Publisher.objects.filter(name__container = 'joy') #相当于 name like '%joy%'

Publisher.objects.get(name = 'joy') #获取单个对象。而不是整个列表

Publisher.objects.filter.order_by(name='joy')

Publisher.objects.order_by('name')[0] #限制返回数据 [0:2]

数据排序

Publisher.objects.order_by("name") #可以是多个参数,以逗号分隔

Publisher.objects.order_by("-name")#逆向排序

在Publisher类中添加

    class Meta:

        ording = ['name']  默认排序

 

删除

p.delete()

Publiser.objects.all().delete()

 

 

© 著作权归作者所有

共有 人打赏支持
cold丶
粉丝 0
博文 7
码字总数 2289
作品 0
石景山
Django 学习笔记之模型高级用法(下)

接着上篇文章内容,本文分享自己对模型一些用法的总结。 1 模型的元数据Meta 除了抽象模型,在模型中定义的字段都会成为表中的列。如果我们需要给模型指定其他一些信息,例如排序方式、数据库...

猴哥Yuri
04/27
0
0
Django学习2--创建应用程序、models模型管理、系统管理后台

创建app: 这里,我创建一个资产系统的app,名为assets: # cd iceny python manage.py startapp assets cd assets ls admin.py apps.py init.py migrations models.py tests.py views.py s......

icenycmh
06/29
0
0
史上最友好的 Django 入门教程

Django是使用Python开发的开源Web开发框架。使用Django,你能以最小的代价构建和维护高质量的Web应用。 我们参考Django 官方文档,制作了一门新手更容易理解的Django 基础教程 ,帮助大家更好...

实验楼
07/26
0
0
【django系列学习笔记】Django 模型(M)- (1)模型的定义

Django也遵循了MVC的分层原则,不过在做法上略有不同。 首先模型部分保持不变:Django的模型增只负责把数据传入传出数据库。然而Django里的视图却并不是显示数据的最后一步----Django的视图其...

北方攻城师
2015/10/25
381
0
Django ORM模型:想说爱你不容易

使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational mapping)模型。这个ORM模型的设计比较简单,学起来不会特别花时间。不过,Django的ORM模型有自己的一套语法,有时候...

余凯力
2017/06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js 操作cookie

var cookie = {// 设置cookie方法 set:function(key,val,time){ var date = new Date(); //获取当前时间 var expiresDays = time; //将date设置为n天以后的时间...

小丶二
3分钟前
0
0
限制root远程登录 su和sudo命令

9月21日任务 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 对于Linux而言,权限的重要性毋庸置疑!对于普通用户而言无法执行那些只有root用户才能有效的命令,导致工作无法有效进行; 系统...

robertt15
5分钟前
0
0
MQTT协议的初浅认识之通讯级别和持久会话

背景 这是我最近了解MQTT协议的最后一部分内容了,MQTT协议里面的QOS和Keep Alive是两个比较重要的内容。QOS的设置,直接影响了订阅客户端与中间件之间的消息交互行为。而Keep Alive直接影响...

亚林瓜子
7分钟前
0
0
calc

width: calc(100% - 30px); 特别注意:减号左右空格,均不能去掉。 width: calc(100% - 30px);

柴高八斗之父
15分钟前
0
0
Spring Cloud Gateway全局过滤器GlobalFilter:返回消息和重定向

Spring Cloud Gateway的全局过滤器GlobalFilter,顾名思义,声明后会对所有的请求生效,可以用来做权限控制,这里简单记录一下拦截到非法请求后如何返回自定义信息和将请求重定向到指定URL。...

夜雨寄北09
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部