django 两种创建模型实例的方法
1. 添加一个classmethod
from django.db import models
class Book(models.Model):
    title = models.CharField(max_length=100)
    @classmethod
    def create(cls, title):
        book = cls(title=title)
        # do something with the book
        return book
book = Book.create("Pride and Prejudice")
这里要用到装饰器(Decorator)。装饰器的概念可以看这里:
2. 在object manager里面添加一个自定义方法,然后把他赋给object。
class BookManager(models.Manager):
    def create_book(self, title):
        book = self.create(title=title)
        # do something with the book
        return book
class Book(models.Model):
    title = models.CharField(max_length=100)
    objects = BookManager()
book = Book.objects.create_book("Pride and Prejudice")
第二种用的比较多。装饰器也比较难理解。
3. 见官网 https://docs.djangoproject.com/en/1.8/ref/models/instances/
django 两种创建模型实例的方法的更多相关文章
- 两种Tensorflow模型保存的方法
		在Tensorflow中,有两种保存模型的方法:一种是Checkpoint,另一种是Protobuf,也就是PB格式: 一. Checkpoint方法: 1.保存时使用方法: tf.train.Sav ... 
- JavaScript两种创建标签的的方法,实现点击按钮让text自增
		<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- C#两种创建快捷方式的方法
		C#两种创建快捷方式的方法http://www.cnblogs.com/linmilove/archive/2009/06/10/1500989.html 
- 以两种异步模型应用案例,深度解析Future接口
		摘要:本文以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类. 本文分享自华为云社区<[精通高并发系列]两种异步模型与深度解析Future接口(一) ... 
- 【高并发】两种异步模型与深度解析Future接口
		大家好,我是冰河~~ 本文有点长,但是满满的干货,以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类,希望大家踏下心来,打开你的IDE,跟着文章看源码,相 ... 
- 【转载】 Java中String类型的两种创建方式
		本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ... 
- String变量的两种创建方式
		在java中,有两种创建String类型变量的方式: String str01="abc";//第一种方式 String str02=new String("abc&qu ... 
- JMS两种消息模型
		前段时间学习EJB.接触到了JMS(Java消息服务),JMS支持两种消息模型:Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub),即点对点和公布订阅模型. ... 
- GIT将本地项目上传到Github(两种简单、方便的方法)
		GIT将本地项目上传到Github(两种简单.方便的方法) 一.第一种方法: 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安 ... 
随机推荐
- JZ2440 linux-3.4.2内核启动报错:Verifying Checksum ... Bad Data CRC
			使用的uboot版本是1.1.6,是打过u-boot-1.1.6_jz2440.patch的: kernel使用的版本是3.4.2, 也是打过linux-3.4.2_camera_jz2440.pat ... 
- Xshell下载和连接Linux
			Xshell下载和连接Linux 第一步.Xshell的下载 方法1:从官网下载个人使用时免费的,商业使用是要收费的. http://www.xshellcn.com/ 方法二2:百度云下载Xshel ... 
- Linux源码安装步骤
			来源:https://www.cnblogs.com/benwu/articles/8436209.html 1. 获取源码 2. 查看INSTALL与README文件 (解压后查看INSTAL ... 
- 备忘录模式 (c++实现)
			模式定义 备忘录(Memento): 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 模式动机 备忘录模式比较适用于功能比较复 ... 
- 在Spring Boot使用H2内存数据库
			文章目录 添加依赖配置 数据库配置 添加初始数据 访问H2数据库 在Spring Boot使用H2内存数据库 在之前的文章中我们有提到在Spring Boot中使用H2内存数据库方便开发和测试.本文我 ... 
- F查询,Q查询,事物,only与defer
			F查询 之前的单表查询多表查询筛选条件都是一个固定的值,那么如何用字段来筛选呢? 比如 : 查询卖出数大于库存数的商品 这个时候我们就可以用到django里面的F查询了 查询示例表 ... 
- mac OS npm 安装/卸载失败 权限问题解决方案
			在终端输入 sudo chown -R $USER /usr/local 输入开机密码 
- Chrome最新版如何安装Proxy SwitchyOmega
			由于Chrome的代理设置与windows10的1703及以后的版本不兼容,导致无法使用代理功能,给工作带来了很大的不便.最近发现一款不错的Chrome代理插件Proxy SwitchyOmega,由 ... 
- JSbridge 在Vue的封装与交互
			原文转自: 点我 写在 JSbridge.js let isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator. ... 
- 图论--割边--Tarjan模板
			#include<iostream> #include<stdio.h> #include<vector> using namespace std; const i ... 
