13

我们正在将黑色代码样式应用于 django 项目。

在我找到的所有教程/示例中(例如在 django cookiecutter这个博客中),我一直看到 django 的迁移文件从 linter 中排除。

但在我看来,这些仍然是 python 文件。当然,django 可能不会自动生成它们以满足黑色规范。但是,开发人员并不总是编写代码来满足 Black 规范……这就是 linting 的用途!

为什么迁移文件被认为与任何其他 python 文件不同?!

注意,我知道如果您有预先存在的迁移,则可能会更改已经应用的迁移 - 这需要小心第一个应用程序(坦率地说,第一个应用程序到代码库的其余部分也是如此)但肯定不是不这样做的理由?

编辑 - @torxed 要求提供 django 迁移文件的示例

我不确定这会有多大帮助,但是典型的 django 迁移文件可能看起来像这样(在这种情况下,将 char 字段添加到表中):

# Generated by Django 2.2.3 on 2019-10-28 09:45

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('api', '0009_figures_notes_tables'),
    ]

    operations = [
        migrations.AlterField(
            model_name='project',
            name='processed_kmz_sha',
            field=models.CharField(max_length=255),
        ),
    ]
4

2 回答 2

6

我咬紧牙关,将黑色应用到我的迁移文件中,逐步跨越六个 django 项目。

完全没有问题,所有东西都部署在生产中几个月了。

所以答案是:完全没有理由不这样做,我认为迁移文件应该包括在内,这样阅读它们是与项目其余部分一致的体验。

于 2020-09-14T14:42:56.403 回答
0

您应该很少需要编辑迁移文件。因此,从已经商定的文件代码布局中排除是有意义的。

于 2020-07-10T18:18:24.340 回答