python model怎么用

coldplay.xixi
Lepaskan: 2020-08-25 11:55:16
asal
9404 orang telah melayarinya

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

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',
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

会生成一些管理的表

3.之后是新建model

首先要导入models包

在app的models.py里添加

from django.db import models
Salin selepas log masuk
class Book(models.Model):
    title=models.CharField(max_length=100)
    def __unicode__(self):
        return self.title
Salin selepas log masuk

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

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

然后就是依次执行

python manage.py check  检查model是否有拼写错误
python manage.py makemigrations 将model的改变生成一个迁移文件
python manage.py migrate 执行迁移
Salin selepas log masuk

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

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

book=Book(title="hello django")
book.save()
Salin selepas log masuk

book=Book.objects.get(id=1)
book.delete()
Salin selepas log masuk

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

book=Book.objects.all()
Salin selepas log masuk

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

book=Book.objects.get(id=1)
Salin selepas log masuk

获得id为1的Book对象

book=Book.objects.filter(title__icontains="hello")
Salin selepas log masuk

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

book=Book.objects.get(id=1)
book.title="django"
book.save()
Salin selepas log masuk

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()
Salin selepas log masuk

然后把manager添加进model

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
Salin selepas log masuk

使用的时候是

count=Book.myobjects.get_book_count("hello")
Salin selepas log masuk

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

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

新建一个manger

class PythonManager(models.Manager):
    def get_query_set(self):
        return super(PythonManager,self).get_query_set().filter(title__icontaions='hello')
Salin selepas log masuk

把manager添加进model

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
    pyhton_objects=PythonManager()
Salin selepas log masuk

用的时候是

queryset=Book.pyhton_objects.get_query_set()
Salin selepas log masuk

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

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

首先要在终端输入

python manage.py createsuperuser
Salin selepas log masuk

Atas ialah kandungan terperinci python model怎么用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!