【问题标题】:Django-Oscar 3.1.6 Frobshop NullBooleanField warningDjango-Oscar 3.1.6 Frobshop NullBooleanField 警告
【发布时间】:2021-02-12 11:52:17
【问题描述】:

按照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,但没有结果。有没有办法解决问题或隐藏消息?

【问题讨论】:

    标签: django django-oscar


    【解决方案1】:

    搜索 pip 安装的 Python 环境文件夹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)
    

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

    【讨论】:

    • 已经在django-oscar的官方git repo中解决了,我想pip版本也为v3.0整改是迟早的事
    • 感谢您解开django-oscar 的一些谜团。我已经将它安装在 WSL2 中,使用 var/work/django/oscar/ 中的 venv。目录是/var/work/django/oscar/lib/python3.8/site-packages/oscar/apps/catalogue
    • 更多信息,格式更好,这里:mslinn.com/django/300-evaluating-django-oscar.html#warn
    • 我们在 2021 年 5 月,修复仍然没有传播到 PyPi =) 花了一些时间找到文件,但在 virtualenv 的包中手动修改它感觉很脏;然后找到了这个答案,我的猜测是肮脏的hackery确实是有道理的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多