Django-Oscar 3.1.6 Frobshop NullBooleanField 警告

Django-Oscar 3.1.6 Frobshop NullBooleanField warning

Frobshop docs 之后,我安装了 django-oscar v3.0.0,它引入了 django v3.1.6.

每次我 运行 manage.py 我都会收到这个警告: WARNINGS: catalogue.ProductAttributeValue.value_boolean: (fields.W903) NullBooleanField is deprecated. Support for it (except in historical migrations) will be removed in Django 4.0. HINT: Use BooleanField(null=True) instead.

我在 Frobshop 源代码中搜索 NullBooleanField,但没有结果。有没有办法解决问题或抑制消息?

搜索您的 Python 环境文件夹,其中 pip 将安装 django-oscar,您需要从那里在您的环境中找到以下文件夹:

.../lib/site-packages/oscar/apps/catalogue/abstract_model.py

abstract_model.py 中,将行 1043 更改为:

value_boolean = models.NullBooleanField(_('Boolean'), blank=True, db_index=True)

value_boolean = models.BooleanField(_('Boolean'), blank=True, db_index=True)

您应该会在保存更改后看到警告消失。