版本信息:
Faker==3.0.0
factory-boy==2.12.0 provider:
# encoding=utf-8
import random
from faker.providers import BaseProvider class NumProvider(BaseProvider):
def num(self):
# ri = self.randomInt()
# return str(ri())
return '123aaaaa' def randomInt(self):
return lambda a=1, b=30: random.randint(a, b) def randomStr18(self, num):
ri = lambda a=0, b=9: random.randint(a, b)
s = ''
for i in range(18):
s = s + str(ri())
return s

# encoding=utf-
import factory
from factory import fuzzy
from NumProvider import NumProvider class User:
def __init__(self, name, num, age, school, city, phone):
self.name, self.num, self.age, self.school, self.city, self.phone = \
name, num, age, school, city, phone class School:
def __init__(self, schoolName):
self.schoolName = schoolName factory.Faker.add_provider(NumProvider) # 添加自定义的NumProvider class SchoolFactory(factory.Factory):
class Meta:
model = School # schoolName = factory.sequence(lambda n: 'school%04d' % n) # factory.sequence
# schoolName = factory.Faker._get_faker().random_int() #调用生成好的provider
schoolName = factory.Faker('num').generate() #调用生成好的provider class UserFactory(factory.Factory):
class Meta:
model = User name = factory.Faker("name", locale="zh_CN") # factory.Faker
num = factory.Faker("num") #调用生成好的provider
age = factory.fuzzy.FuzzyInteger() # factory.fuzzy.FuzzyInteger
city = factory.Faker("address", locale="zh_CN")
phone = factory.fuzzy.FuzzyText("", , "", "") # factory.fuzzy.FuzzyText
school = factory.SubFactory(SchoolFactory) # factory.SubFactory class Params:
shipped = factory.Trait(
name=None
) if __name__ == "__main__":
# 单个生成
# seq = []
# seq2=[]
# uf = UserFactory()
# # print(uf.__dict__)
# seq.append(uf.__dict__)
# seq2.append(UserFactory().__dict__)
# print(seq)
# print(seq2) # ##批量生成
# list = []
# fss = factory.build_batch(UserFactory, )
# for fs in fss:
# list.append(fs.__dict__)
# print(list)
##部分字段修改
# uff = UserFactory(shipped=True)
uff = UserFactory(shipped=False)
print(uff.school.__dict__)
print(uff.__dict__)
print(uff.__dir__())

Faker伪数据生成的更多相关文章

  1. 随机数据生成与对拍【c++版,良心讲解】

    10.7更新:见最下面 离NOIP2018没剩多长时间了,我突然发现我连对拍还不会,于是赶紧到网上找资料,找了半天发现了一个特别妙的程序,用c++写的! 不过先讲讲随机数据生成吧. 很简单,就是写一个 ...

  2. python测试框架&&数据生成&&工具最全资源汇总

    xUnit frameworks 单元测试框架frameworks 框架unittest - python自带的单元测试库,开箱即用unittest2 - 加强版的单元测试框架,适用于Python 2 ...

  3. 快速将一个表的数据生成SQL插入语句

    将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE Gen ...

  4. Charted – 自动化的可视化数据生成工具

    Charted 是一个让数据自动生成可视化图表的工具.只需要提供一个数据文件的链接,它就能返回一个美丽的,可共享的图表.Charted 不会存储任何数据.它只是获取和让链接提供的数据可视化. 在线演示 ...

  5. Web 开发人员必备的随机 JSON 数据生成工具

    在 Web 开发中,经常会需要一些测试数据来测试接口或者功能时候正确.JSON Generator 就是这样一款生成随机 JSON 数据的在线工具,Web 开发人员必备,记得收藏和分享啊. 您可能感兴 ...

  6. 将表数据生成Insert脚本

    set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author ...

  7. 一个比较全面的java随机数据生成工具包

    最近,由于一个项目的原因需要使用一些随机数据做测试,于是写了一个随机数据生成工具,ExtraRanom.可以看成是Java官方Random类的扩展,主要用于主要用于测试程序.生成密码.设计抽奖程序等情 ...

  8. 将表中数据生成SQL语句

    在开发过程中,经常需要我们对表中的数据进行转移,如果在同台机器,可以使用SQL自带的导入数据,但是如果想让所有的数据生成可执行的SQL语句,它的移植性最强了.首先要设计一个存储过程.具体如下: CRE ...

  9. Entity Framework 数据生成选项DatabaseGenerated

    在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity.None和Computed. Identity:自增长 None:不 ...

随机推荐

  1. Go函数篇

    1 定义格式 函数构成代码执行的逻辑结构.在Go语言中,函数的基本组成为:关键字func.函数名.参数列表.返回值.函数体和返回语句. Go 语言函数定义格式如下: func FuncName(/*参 ...

  2. 递归---Day29

    递归的概述 递归:指在当前方法内自己调用自己的方式叫做递归 递归的分类: 1.直接递归称为方法自身调用自己. 2.间接递归可以用A方法调用B方法,用B方法调用C方法,用C方法调用A方法. 递归的注意事 ...

  3. json串处理2

    请求百度地址坐标:http://api.map.baidu.com/location/ip?ak=y0Yb5ZgGK9blTDbR7Dwh9jGtn6X1YE48&coor=bd09ll&am ...

  4. 2019-09-09 memcache

    什么是缓存呢???缓存就是存贮数据(使用频繁的数据)的临时地方缓存可以认为是数据的大池子 一.数据缓存这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不 ...

  5. boto3用法

    aws是Amazon Web Service的简写,它包括众多服务,其中最有名的两个是EC2和S3. S3是Simple Storage Service的简写,它是一种对象存储的实现. 安装和配置 安 ...

  6. Spring MVC + CXF实现webservice接口

    本来都是WebAPI/RestfulAPI接口对外提供接口的,突然有个需求要提供WebService接口,本想着Spring和CXF这么成熟的两个产品,这么的也整不出什么幺蛾子来啊. 结果还真是出了几 ...

  7. SQLMAP源码阅读(一)

  8. sigprocmask阻塞信号

    有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数 1. 信号阻塞和忽略信号的区别 操作系统在信号被进程解除阻塞之前不会将信号传递出去, ...

  9. List转换数组 数组转换List

    数组转List package listtoArray; import java.util.ArrayList;import java.util.Arrays;import java.util.Col ...

  10. Linux Shell脚本编程while语句

    Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo    uptime    sleep 3done 2,把监控结果保存 ...