Django Migrations Нужны ли мне подсказки типов и как? [закрыто]
В Python теперь есть подсказки типов (или typehint? это одно слово или два?). Некоторые документы можно посмотреть на peps.python.org.
Проблема в том, что typehinting сделан для разработчиков, чтобы понимать использование программы и избегать ошибок, но что произойдет, если это код, сделанный для автоматизации? Т.е. миграции Django, где код выполняется не другим разработчиком/пользователем, а другой программой?
Django создает свои собственные миграции через manage.py makemigrations
и вот какой код получается:
class Migration(migrations.Migration):
dependencies = [
('app', '0029_auto_20220601_1515'),
]
operations = [
migrations.AlterField(
model_name='jobexecution',
name='job_type',
field=models.CharField(choices=[('foo', 'Foo'),('bar', 'Bar)], default='foo', max_length=30),
),
]
С другой стороны, когда я хочу выполнить миграцию данных, я создаю что-то вроде этого:
def forwards(apps, schema_editor):
Foo = apps.get_model('app', 'Foo')
FixedResponse.objects.create(name='Bar')
def backwards(apps, schema_editor):
Foo = apps.get_model('app', 'Foo')
Foo.objects.filter(name='Bar').delete()
class Migration(migrations.Migration):
dependencies = [
('app', '0035_fixedresponse'),
]
operations = [
migrations.RunPython(forwards, backwards)
]
Нужно ли вводить подсказки в оба файла? Как мне сделать подсказку для последнего (миграция данных)?