【问题标题】:form._raw_value(fieldname) gone in Django 1.9form._raw_value(fieldname) 在 Django 1.9 中消失了
【发布时间】:2017-01-13 21:40:45
【问题描述】:

我的代码使用form._raw_value(fieldname)

这在 Django 1.9 中消失了。

有没有办法在 1.9+ 中访问原始值?

更新

我只是将代码迁移到 Django 1.9。到目前为止,我对那里的详细情况还没有更深入的了解。

【问题讨论】:

  • 你实际上想用它做什么?可能有更好的方法
  • 请注意,前导下划线暗示这是您不应该依赖的私有方法。
  • @DanielRoseman 喜欢 Django 模型中的_meta? :-) ... 是的,我知道_raw_value() 仅供内部使用。

标签: django deprecated


【解决方案1】:

查看the source code_raw_value 方法只有 3 行长,因此很容易将其作为函数添加到您的代码中。

def _raw_value(form, fieldname):
    field = form.fields[fieldname]
    prefix = form.add_prefix(fieldname)
    return field.widget.value_from_datadict(form.data, form.files, prefix)

然后将您的代码从form._raw_value(fieldname) 更改为_raw_value(form, fieldname)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2021-08-10
    相关资源
    最近更新 更多