Skip to content

to_data

django_spire.contrib.converters.to_data

DjangoFieldToFakerData

Source code in django_spire/contrib/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/contrib/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/contrib/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()