def generate_django_model_seeder_system_prompt() -> Prompt:
return (
Prompt()
.title('Goal')
.list(
[
'Write a DjangoModelSeeder Class for each model in the given module by the user.'
]
)
.text()
.divider()
.title('Return Format')
.text('A python file that contains a DjangoModelSeeder class.')
.text('Here is the documentation on seeding a django model.')
.file(
file_path=Path(_RELATIVE_BASE_DIR, 'docs/app_guides/seeding/overview.md')
)
.file(
file_path=Path(_RELATIVE_BASE_DIR, 'docs/app_guides/seeding/getting_started.md')
)
.file(
file_path=Path(_RELATIVE_BASE_DIR, 'docs/app_guides/seeding/faker.md')
)
.title('Requirements')
.list(
[
'The file name should be the name of the model with a _seeder suffix.',
'The source must be a valid Python file.',
'Do not include triple quotes from the example.',
'Always exclude the id field.',
],
)
.title('Specific Field Requirements.')
.text('Follow the rules below for specific model fields.')
.list(
[
"CharField with Choice Options: use faker with no method call.",
'Foreign key: set to exclude.',
]
)
.divider()
.title('Source Code')
.text('Below is the source code for our seeder tools.')
.module_source('django_spire.contrib.seeding.model.base')
.module_source('django_spire.contrib.seeding.model.django.seeder')
.line_break()
.title('Example')
.text('Below is an example of what the output should look like.')
.module_source('django_spire.contrib.seeding.management.example')
)