python model怎么用


本文摘自php中文网,作者coldplay.xixi,侵删。

python model的用法是:1、model实现增,代码为【book=Book(title="hello go")】;2、model实现删,代码为【book=Book.objects.get(id=1),book.delete()】。

【相关学习推荐:python教程

python model的用法是:

1.首先是数据库配置

一般新建的django项目都是配置为sqlite为数据库

通常项目中都会使用MySQL

所以首先修改配置

在project的settings.py里修改

将原来配置sqlite改为自己的属性

1

2

3

4

5

6

7

8

9

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'USER':'root',

        'PASSWORD':'',

        'NAME':'djangouse',

        'HOST':'localhost',

    }

}

USER填MySQL的用户名

PASSWORD填MySQL的密码

NAME填所使用的数据库的名字,这个要自己到MySQL里创建

注意:使用model前记得把MySQL打开

2.在新版的django中命令行有了很大的变化

关于model的主要有以下几句命令

python manage.py check 检查model是否有拼写错误

python manage.py makemigrations 将model的改变生成一个迁移文件

python manage.py migrate 执行迁移

通常在创建好app和数据库之后

首先执行

1

python manage.py migrate

会生成一些管理的表

3.之后是新建model

首先要导入models包

在app的models.py里添加

1

from django.db import models

1

2

3

4

class Book(models.Model):

    title=models.CharField(max_length=100)

    def __unicode__(self):

        return self.title

这个Book的model有一个title字段最大长度为100

unicode这个方法是返回的是查询到这个Object时显示的内容,默认显示为Object

然后就是依次执行

1

2

3

python manage.py check  检查model是否有拼写错误

python manage.py makemigrations 将model的改变生成一个迁移文件

python manage.py migrate 执行迁移

然后查询所使用的数据库会发现多了一个名字含有book的表

4.接下来是model的增删查改

1

2

book=Book(title="hello django")

book.save()

1

2

book=Book.objects.get(id=1)

book.delete()

获取id为1的对象后执行delete方法

1

book=Book.objects.all()

查询全部Book对象,返回一个集合

1

book=Book.objects.get(id=1)

获得id为1的Book对象

1

book=Book.objects.filter(title__icontains="hello")

获得title字段里含有hello的Book对象集合

1

2

3

book=Book.objects.get(id=1)

book.title="django"

book.save()

5.接下来的model的进阶使用——manager

manager是对model一些常用方法的封装

有获得数值的,也有获得对象集合的

看看获得数值的manager怎么创建

在app里的model.py里新建一个继承自models.Manager的类

1

2

3

class BookManager(models.Manager):

    def get_book_count(self,keyword):

        return self.filter(title__icontains=keyword).count()

然后把manager添加进model

1

2

3

class Book(models.Model):

    title=models.CharField(max_length=100)

    myobjects=BookManager()

使用的时候是

1

count=Book.myobjects.get_book_count("hello")

这样就返回了名字含有book对象的数量

如果想获得一个有特殊条件对象集合呢?

新建一个manger

1

2

3

class PythonManager(models.Manager):

    def get_query_set(self):

        return super(PythonManager,self).get_query_set().filter(title__icontaions='hello')

把manager添加进model

1

2

3

4

class Book(models.Model):

    title=models.CharField(max_length=100)

    myobjects=BookManager()

    pyhton_objects=PythonManager()

用的时候是

1

queryset=Book.pyhton_objects.get_query_set()

这样就返回了名字含有hello的Book对象集合

6.接下来是用后台页面管理model

首先要在终端输入

1

python manage.py createsuperuser

以上就是python model怎么用的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python之爬取其他网页

Python中字符串和数组相互转换功能的实现示例

什么是Python import语句?在Python中的import语句作用有哪些?

在cmd中Python如何卸载模块

Python元祖与字典以及集合的实例讲解

Python和scratch如何选择?

Python循环函数

Python缩进是强制吗

Python中for循环与range()函数的简单介绍(附示例)

Python中的split是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...