Python django recurrence在admin中显示文本字段,而不是django 2.0中的正确字段

Python django recurrence在admin中显示文本字段,而不是django 2.0中的正确字段,python,django,python-3.x,django-models,django-forms,Python,Django,Python 3.x,Django Models,Django Forms,它在1.11中运行良好,但由于某些原因在2.0中不起作用。我不确定是什么问题 这是django中的fields.py文件 from django.db.models import fields from django.utils.six import string_types import recurrence from recurrence import forms from recurrence.compat import Creator try: from south.model

它在1.11中运行良好,但由于某些原因在2.0中不起作用。我不确定是什么问题

这是django中的fields.py文件

from django.db.models import fields
from django.utils.six import string_types
import recurrence
from recurrence import forms
from recurrence.compat import Creator

try:
    from south.modelsinspector import add_introspection_rules
add_introspection_rules([], [
    "^recurrence\.fields\.RecurrenceField",
])
except ImportError:
pass


# Do not use SubfieldBase meta class because is removed in Django 1.10

class RecurrenceField(fields.Field):
"""Field that stores a `recurrence.base.Recurrence` to the database."""

def __init__(self, include_dtstart=True, **kwargs):
    self.include_dtstart = include_dtstart
    super(RecurrenceField, self).__init__(**kwargs)

def get_internal_type(self):
    return 'TextField'

def to_python(self, value):
    if value is None or isinstance(value, recurrence.Recurrence):
        return value
    value = super(RecurrenceField, self).to_python(value) or u''
    return recurrence.deserialize(value, self.include_dtstart)

def from_db_value(self, value, *args, **kwargs):
    return self.to_python(value)

def get_prep_value(self, value):
    if not isinstance(value, string_types):
        value = recurrence.serialize(value)
    return value

def contribute_to_class(self, cls, *args, **kwargs):
    super(RecurrenceField, self).contribute_to_class(cls, *args, **kwargs)
    setattr(cls, self.name, Creator(self))

def value_to_string(self, obj):
    return self.get_prep_value(self._get_val_from_obj(obj))

def formfield(self, **kwargs):
    defaults = {
        'form_class': forms.RecurrenceField,
        'widget': forms.RecurrenceWidget,
    }
    defaults.update(kwargs)
    return super(RecurrenceField, self).formfield(**defaults)