Populate Tortoise Model with faker output in a factory for tests
Project description
Usage
from tortoise import Model, fields
from tortoise_factory import model_factory
class User(Model):
id = fields.IntField(primary_key=True)
first_name = fields.CharField(max_length=100)
last_name = fields.CharField(max_length=100)
email = fields.CharField(max_length=200)
class Product(Model):
id = fields.IntField(primary_key=True)
name = fields.CharField(max_length=200)
description = fields.TextField(null=True, default=None)
price = fields.FloatField()
created_by = fields.ForeignKeyField(
"models.User",
on_delete=fields.CASCADE,
related_name="products",
)
def __str__(self) -> str:
return self.name
Generalities
All returned models are saved in db, meaning they will all have a .id value, the same is true for any ForeignKeyField
Random values
To get a simple random product:
product = await model_factory(Product)
the created_by will be created automaticaly since it cannot be None, when possible, the factory will put None into optional fields.
Specify some fields
product = await model_factory(Product, name="something", created_by__name="Bob")
we use __ to go throught relations
Fill optional values
product = await model_factory(Product, _optionals=["description"])
now you will have a product.description wich won't be None
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tortoise_factory-0.1.0.tar.gz.
File metadata
- Download URL: tortoise_factory-0.1.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.10.8-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b351f8b8d9d3e4727e91e26af697b1b963cf64b660d51d9838fa6bda9580c428
|
|
| MD5 |
a1aa387978c0db3eb1c325e6eb5e9179
|
|
| BLAKE2b-256 |
8beedba834b5fc25c2fb7f94c9674a9594673b029bc8dbdf1b85ffc95f3a71d8
|
File details
Details for the file tortoise_factory-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tortoise_factory-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.10.8-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21c9727b2ba83e905a9453f40dd9b20d79041cefadcfca7b0d234583c5f6eb94
|
|
| MD5 |
0668328e4cf25027cef02476bdaef84e
|
|
| BLAKE2b-256 |
6edfbdb5145086944dffc6e400926832474eed0b559c2fa8e2ba3efcd6f567bb
|