django中models和forms阅读笔记

一、使用数据库需要设置settings.py文件。

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.‘, # Add ‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘.
        ‘NAME‘: ‘‘,                      # Or path to database file if using sqlite3.
        ‘USER‘: ‘‘,                      # Not used with sqlite3.
        ‘PASSWORD‘: ‘‘,                  # Not used with sqlite3.
        ‘HOST‘: ‘‘,                      # Set to empty string for localhost. Not used with sqlite3.
        ‘PORT‘: ‘‘,                      # Set to empty string for default. Not used with sqlite3.
    }
}
‘ENGINE‘说明使用的是什么数据引擎,django中仅支持‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘.这几种。
 ‘NAME’使用哪个数据库,在django中,框架可以生成数据表,但是不可以声称数据库,所以要自己手动创建好数据库。
‘USER‘数据库的用户名
2、如果django框架支持的操作满足不了开发需求,可以执行原生的SQL语句。
>>> from django.db import connection
>>> cursor = connection.cursor()

3、常用的几条命令:

python manage.py validate#检查models是否有语法错误

python manage.py startproject projectname

python manage.py startapp appname

python manage.py syncdb#将新建的表创建到数据库中,但是如果后期对表作了修改,在使用这条命令不会更新。此时应该使用下面两条命令,仅在django版本》=1.7时使用

python manage.py makemigrations

python manage.py migrate

4、创建models

from django.db import models
from django.template.defaultfilters import default

class User(models.Model):
    name =models.CharField(max_length=50);
    createTime = models.DateTimeField(auto_now=True);
    updateTime = models.DateTimeField(auto_now_add=True);

5、当使用data=User.objects.all()方法时获得的是数据表记录对象的集合,我们可以使用一些有用的字符串来表示这些对象。可以添加一个类方法 __unicode__()

该方法返回一个代表该对象的字符串,是我们能够看到他就知道是那一条记录。

注意:该方法返回一个unicode对象,如果不是,比如数字,则返回一个TypeError

def __unicode__(self):
        return self.name

6、使用User.objects.all()方法返回的数据是QuerySet对象,这个集合是由数据表中的记录组成的集合。

 
 
				
时间: 2024-10-17 23:41:38

django中models和forms阅读笔记的相关文章

西游之路——python全栈——django中models配置

目录 Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite 在settings文件中可以发现: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 其默认数据库是sqlite3 要想使用其他数据库,需要修改相应的引擎和配置 (1)sqlite: 'ENGINE': 'dja

vue中$watch源码阅读笔记

项目中使用了vue,一直在比较computed和$watch的使用场景,今天周末抽时间看了下vue中$watch的源码部分,也查阅了一些别人的文章,暂时把自己的笔记记录于此,供以后查阅: 实现一个简单的$watch: 1 const v = new Vue({ 2 data:{ 3 a: 1, 4 b: { 5 c: 3 6 } 7 } 8 }) 9 // 实例方法$watch,监听属性"a" 10 v.$watch("a",()=>console.log(&

django中models联合唯一unique_together

例: 文章点赞 class ArticleUpDown(models.Model): """ 点赞表 """ nid = models.AutoField(primary_key=True) user = models.ForeignKey(to="UserInfo", null=True, on_delete=models.CASCADE) article = models.ForeignKey(to="Artic

Flask-SocketIO中实例代码的阅读笔记

Flask-SocketIO: 支持没有WebSocket支持的Old浏览器 支持SocketIO Javascript 库的message passing protocol ----------------------------------- SocketIO的核心概念: 命名空间 -> 事件类别 ------------------------------------ 说明:整个测试程序只使用了一个命名空间:/test index.html 一:客户端程序的处理流程 1,建立连接,注册命名

django中models的filter过滤方法

__gt     大于__gte   大于等于 __lt      小于 __lte    小于等于 __in     存在于一个list范围内 __startswith    以...开头 __istartswith   以...开头忽略大小写 __endswith     以...结尾 __iendswith    以...结尾,忽略大小写 __range   在...范围内 __year      日期字段的年份 __month   日期字段的月份 __day        日期字段的日

Django中forms的一些用法

一.原生的formIn your templates 1 <form action="" method="POST" class="" role="form"> 2 <div class="input-group"> 3 <span class="input-group-addon" ><img src="{% static 'img/

源码阅读笔记 - 1 MSVC2015中的std::sort

大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格式化,去掉或者展开用于条件编译或者debug检查的宏,依重要程度重新排序函数,但是不会改变命名方式(虽然MSVC的STL命名实在是我不能接受的那种),对于代码块的解释会在代码块前(上面)用注释标明. template<class _RanIt, class _Diff, class _Pr> in

&lt;游戏开发中的人工智能&gt; -- 阅读笔记

到家已经几天了, 休息了一阵, 是时候重新学习知识了. 接下去一段时间, 会啃<游戏开发中的人工智能>这本书, 顺便写写笔记. 马上就大三了, 想想自己选的游戏方向, 现在还蛋疼. 选了一个自己喜欢的方向, 但是确实最忙的一个,这也意味着少时间继续我的iOS学习. 也不知道是对是错. 既然选了,就学吧. 好不,不扯多了.接下去是该系列的笔记.(持续更新) 第一章: 游戏人工智能简介 1. 定性AI与非定性AI 定性行为或其表现是特定的,而且是可预测的,没有不确定性. 非定性行为有某种程度的不确

django中的models模块及数据库一些基本操作

使用django自带的轻量级数据库sqlite mvc 开发模式(Java,php)             django是mtv模式 m------model 操作数据库的          m------model 操作数据库的 v------view视图                          t------template视图 c------controller控制逻辑             v------view控制逻辑 1.首先定义表及字段 在models.py中,然后在