文档章节

Django-模型

cold丶
 cold丶
发布于 2015/08/14 16:59
字数 570
阅读 37
收藏 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()

 

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 获取日期
下一篇: django-模版
cold丶
粉丝 0
博文 7
码字总数 2289
作品 0
石景山
私信 提问
Django 学习笔记之模型高级用法(下)

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

猴哥Yuri
2018/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
2018/06/29
0
0
简化 Django 开发的八个 Python 包

这个月的 Python 专栏将介绍一些 Django 包,它们有益于你的工作,以及你的个人或业余项目。 Django 开发者们,在这个月的 Python 专栏中,我们会介绍一些能帮助你们的软件包。这些软件包是我...

作者: Jeff Triplett
2018/10/05
0
0
史上最友好的 Django 入门教程

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

实验楼
2018/07/26
0
0
Python Web 应用程序 Django 框架简介

在这个比较 Python 框架的最后一篇中,让我们看看 Django。 在本系列(由四部分组成)的前三篇文章中,我们讨论了 Pyramid、Flask 和 Tornado 这 3 个 Web 框架。我们已经构建了三次相同的应...

作者: Nicholas Hunt-walker
2018/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux iptables之mangle表使用案例

mangle表的用途 mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由。 mangel表使用示例 示例1-策略路由1 内网的客户机通...

月下狼
36分钟前
2
0
OSChina 周日乱弹 —— 兼职我想去学学布偶戏

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy : 《火炎 - 女王蜂》 《火炎 - 女王蜂》 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁 :还在睡觉突然接到一个小哥哥电话“x...

小小编辑
48分钟前
42
3
租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
3
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
6
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部