似乎makemigrations
命令受Django语言(django.mo,django.po等)的影响。
我有两个项目。一个是 upstream,另一个 origin 是upstream的分叉版本。
上游的LANGUAGE_CODE是ko-kr
,而原点的LANGUAGE_CODE是en
。在上游运行makemigrations
时,假设locale/ko/LC_MESSAGES
下有django.mo文件,未检测到任何更改。
现在我去origin,它的语言是en
。locale/en/LC_MESSAGES/django.mo
文件当我运行makemigrations
时,我看到了一长串迁移文件。但是仔细看,* 所有 * 都是关于verbose_name,choices label等的更改。
当一个Django项目支持多种语言时,如何让它识别自己的语言并防止它生成不必要的迁移文件?
1条答案
按热度按时间n3schb8v1#
我知道答案了。
当你在项目中更改
LANGUAGE_CODE
时,你会把它搞砸。由于django迁移似乎关心你的项目使用的是什么语言环境,更改它可能会导致不必要的迁移文件(verbose_name,help_text等)。当我在origin的设置中将
LANGUAGE_CODE
从en
back更改为ko-kr
时,与upstream相同,不会生成额外的迁移文件。* 未检测到更改 *!相关链接如下:
如需客户翻译,请参考以下内容: