我是靠谱客的博主 可靠砖头,最近开发中收集的这篇文章主要介绍python model怎么用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【相关学习推荐:python教程

python model的用法是:

1.首先是数据库配置

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

通常项目中都会使用MySQL

所以首先修改配置

在project的settings.py里修改

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

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和数据库之后

首先执行

python manage.py migrate
登录后复制

会生成一些管理的表

3.之后是新建model

首先要导入models包

在app的models.py里添加

from django.db import models
登录后复制
class Book(models.Model):
    title=models.CharField(max_length=100)
    def __unicode__(self):
        return self.title
登录后复制

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

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

然后就是依次执行

python manage.py check  检查model是否有拼写错误
python manage.py makemigrations 将model的改变生成一个迁移文件
python manage.py migrate 执行迁移
登录后复制

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

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

book=Book(title="hello django")
book.save()
登录后复制

book=Book.objects.get(id=1)
book.delete()
登录后复制

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

book=Book.objects.all()
登录后复制

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

book=Book.objects.get(id=1)
登录后复制

获得id为1的Book对象

book=Book.objects.filter(title__icontains="hello")
登录后复制

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

book=Book.objects.get(id=1)
book.title="django"
book.save()
登录后复制

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

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

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

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

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

class BookManager(models.Manager):
    def get_book_count(self,keyword):
        return self.filter(title__icontains=keyword).count()
登录后复制

然后把manager添加进model

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
登录后复制

使用的时候是

count=Book.myobjects.get_book_count("hello")
登录后复制

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

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

新建一个manger

class PythonManager(models.Manager):
    def get_query_set(self):
        return super(PythonManager,self).get_query_set().filter(title__icontaions='hello')
登录后复制

把manager添加进model

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
    pyhton_objects=PythonManager()
登录后复制

用的时候是

queryset=Book.pyhton_objects.get_query_set()
登录后复制

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

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

首先要在终端输入

python manage.py createsuperuser
登录后复制

以上就是python model怎么用的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是可靠砖头为你收集整理的python model怎么用的全部内容,希望文章能够帮你解决python model怎么用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部