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:
        raise Exception(f'No handler for {self.model_field.get_internal_type()}')
    return converter()

fake_model_field_value

Source code in django_spire/core/converters/to_data.py
def fake_model_field_value(model_class, field_name: str, faker_method=None):
    field = model_class._meta.get_field(field_name)
    return DjangoFieldToFakerData(field, faker_method).convert()