Populate
populate · odoo/odoo
Health
70/100
fair
-
Security25/25No findings
-
Activity25/25Last human commit 2 months ago
-
Required by15/251 module depends on it
-
Maturity5/25In 1 Odoo series since 20.0
Heuristic over the facts below, not an audit · How it's computed
Required by
1
Modules depending on it
External deps
0 pip · 0 bin
Python packages / system binaries
License
LGPL-3
No conflicts with its dependencies
Folder size
1.54 MB
Module directory on disk
Code analysis
0 migration notes
4 models
0 views
0 HTTP endpoints
Description
Generate synthetic data for an Odoo database, following a predefined blueprint. Used for performance testing.
Dependencies
- Odoo dependencies
-
odoo/odoo:- base
- Python dependencies
- None
- System dependencies
- None
- Required by
- test_populate
Code analysis
Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.
Views touched 0
No views found for this module.
HTTP endpoints 0
No HTTP endpoints found for this module.
Models touched 4
New fields (5)
-
definitionJsoncompute='_compute_definition'prefetch=DEFINITION_PREFETCH_GROUPreadonly=Truestring='JSON Definition' -
definition_jsonJsonprefetch=DEFINITION_PREFETCH_GROUP args: 'Raw JSON Definition' -
definition_xmlCharprefetch=DEFINITION_PREFETCH_GROUP args: 'Raw XML Definition' -
inherit_idMany2one → populate.blueprintcomodel_name='populate.blueprint'help='Blueprint to inherit from. Use XPath expressions in definition_xml to modify the parent.'index=Trueondelete='set null'string='Inherited Blueprint' -
nameCharrequired=True args: 'Blueprint Name'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (17)
-
batchedBooleanhelp='For write/function jobs: generate one value set and perform one call per executable job.' -
blueprint_idMany2one → populate.blueprintindex=Trueondelete='cascade'precompute=Truerelated='session_id.blueprint_id'required=Truestore=True args: 'populate.blueprint' -
child_idsOne2many → populate.jobinverse_name='parent_id' args: 'populate.job' -
contextJson -
domainCharhelp='Domain selecting target records for jobs that update existing records.' -
instructionsJson -
is_doneBoolean -
method_nameCharhelp='Method called by function jobs.' -
model_nameCharrequired=True -
operationSelectiondefault='create'required=True args: [('create', 'Create'), ('write', 'Write'), ('function', 'Function')] -
parallelBooleandefault=Truehelp='Can the job be executed in parallel?' -
parent_idMany2one → populate.jobindex=True args: 'populate.job' -
parent_pathCharindex=True -
record_countIntegerdefault=1 -
refCharhelp="Reference the batch of records used by the job.\n If the job operation is 'create' -> Annotates the records for referencing.\n If the job operation is 'write' or 'function' -> Refers to records with said reference.\n " -
seedInteger -
session_idMany2one → populate.sessionindex=Truerequired=True args: 'populate.session'
-
is_executable(self) -> bool@propertyWhether this job performs actual work. -
pending_subjobs(self) -> Self@property -
progress(self) -> float@propertyGet the progress of the job as value between [0, 1]
New fields (6)
-
blueprint_idMany2onerelated='job_id.blueprint_id' -
job_idMany2one → populate.jobondelete='cascade'required=True args: 'populate.job' -
refCharrelated='job_id.ref' -
res_idMany2oneReferencemodel_field='res_model'required=True args: 'Record' -
res_modelCharrelated='job_id.model_name' args: 'Model' -
session_idMany2onerelated='job_id.session_id'
No public methods.
New fields (5)
-
blueprint_idMany2one → populate.blueprintondelete='cascade'required=True args: 'populate.blueprint' -
job_idsOne2many → populate.jobdomain=[('parent_id', '=', False)]inverse_name='session_id' args: 'populate.job' -
scaling_factorFloatargs: 'Scaling Factor' -
seedIntegerdefault=<expr> args: 'Seed' -
worker_countIntegerdefault=1 args: 'Number of parallel workers that will run jobs at the same time'
-
create(self, vals_list)@api.model_create_multiCreate sessions and instantiate their jobs from the selected blueprint. :param vals_list: Values for the new ``populate.session`` records. :return: Created session records. -
is_done(self) -> bool@property -
is_parallel(self) -> bool@property -
is_profiling(self) -> bool@property -
is_running(self) -> bool@propertyThe session is running if its advisory lock is currently held. -
pending_jobs(self)@property -
profile_session_name(self) -> <expr>@property -
progress(self) -> float@propertyGet the progress of the session as value between [0, 1]