Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 安装地理位置应用程序后获取警告_Python_Django_Django Models - Fatal编程技术网

Python 安装地理位置应用程序后获取警告

Python 安装地理位置应用程序后获取警告,python,django,django-models,Python,Django,Django Models,当我运行我的项目时,我会收到这种类型的警告 RemovedIndjango110警告:子字段数据库已被弃用。改用Field.from_db_值 这是密码 from __future__ import unicode_literals from django.db import models from django.utils.six import with_metaclass from django.utils.translation import ugettext_lazy as _ fro

当我运行我的项目时,我会收到这种类型的警告

RemovedIndjango110警告:子字段数据库已被弃用。改用Field.from_db_值

这是密码

from __future__ import unicode_literals

from django.db import models
from django.utils.six import with_metaclass
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import smart_text

from . import Geoposition
from .forms import GeopositionField as GeopositionFormField


class GeopositionField(with_metaclass(models.SubfieldBase, models.Field)):
    description = _("A geoposition (latitude and longitude)")

    def __init__(self, *args, **kwargs):
        kwargs['max_length'] = 42
        super(GeopositionField, self).__init__(*args, **kwargs)

    def get_internal_type(self):
        return 'CharField'

    def to_python(self, value):
        if not value or value == 'None':
            return None
        if isinstance(value, Geoposition):
            return value
        if isinstance(value, list):
            return Geoposition(value[0], value[1])

        # default case is string
        value_parts = value.rsplit(',')
        try:
            latitude = value_parts[0]
        except IndexError:
            latitude = '0.0'
        try:
            longitude = value_parts[1]
        except IndexError:
            longitude = '0.0'

        return Geoposition(latitude, longitude)

    def get_prep_value(self, value):
        return str(value)

    def value_to_string(self, obj):
        value = self._get_val_from_obj(obj)
        return smart_text(value)

    def formfield(self, **kwargs):
        defaults = {
            'form_class': GeopositionFormField
        }
        defaults.update(kwargs)
        return super(GeopositionField, self).formfield(**defaults)

要删除此警告,我应该在代码中执行什么操作?很清楚<代码>型号。子字段数据库已折旧。你可以在地图上看到这一点

django.db.models.fields.subclassing.SubfieldBase已被弃用,将在django 1.10中删除。过去,它用于处理从数据库加载时需要进行类型转换的字段,但在.values()调用或聚合中未使用。它已替换为from_db_value()。请注意,新方法不像子字段数据库那样在赋值时调用to_python()方法

您需要删除
models.SubfieldBase
,如果需要,在字段中添加一个方法,将DB值转换为python值