Skip to content

to_data

django_spire.core.converters.to_data

DjangoFieldToFakerData

Source code in django_spire/core/converters/to_data.py
def __init__(
    self,
    model_field: models.Field,
    faker_method: tuple | None = None
):
    if isinstance(faker_method, str):
        faker_method = (faker_method,)

    self.model_field = model_field
    self.faker_method = faker_method
    self.faker = Faker()

model_field = model_field instance-attribute

faker_method = faker_method instance-attribute

faker = Faker() instance-attribute

field_converters property

convert

Source code in django_spire/core/converters/to_data.py
def convert(self):
    if self.faker_method:
        result = self._use_faker_with_method()

        if result is not None:
            return result

    converter = self.field_converters.get(self.model_field.get_internal_type())

    if converter is None:
        message = f'No handler for {self.model_field.get_internal_type()}'
        raise Exception(message)

    return converter()

fake_model_field_value

Source code in django_spire/core/converters/to_data.py
def fake_model_field_value(
    model_class: type[models.Model],
    field_name: str,
    faker_method: str | tuple | None = None
) -> Any:
    field = model_class._meta.get_field(field_name)
    return DjangoFieldToFakerData(field, faker_method).convert()