我一直是我的应用程序的API。当我启动servver终端时,结束了以下操作:文件“ /home/user/MyProjects/forest-venv/forest/logginsite/admin.py”,第11行LScharacteristicAdmin(DynamicRawIDMixin)类:_model_admin_wrapper中的第25行,文件“ /home/user/MyProjects/forest-venv/lib/python3.5/site-packages/django/contrib/admin/decorators.py”引发ValueError('Wrapped类必须是ModelAdmin的子类。)ValueError:包装的类必须为ModelAdmin的子类。“我是django的新手。如何解决?
是我项目的依赖部分:
admin.py:
from django.contrib.gis import admin
from .models import *
from dynamic_raw_id.admin import DynamicRawIDMixin
class DefaultGeoAdmin(admin.OSMGeoAdmin):
search_fields = ['code', 'name']
display_wkt = True
save_on_top = True
@admin.register(LScharacteristic)
class LScharacteristicAdmin(DynamicRawIDMixin):
list_display = ('code', 'codeLS', 'track', 'task','totalarea','explarea','protecttype' )
dynamic_raw_id_fields = ('codeLS', )
model = LScharacteristic
models.py:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from renter.models import RefAbstract, Renter
from django.contrib.gis.db import models
class Unit(RefAbstract):
class Meta(RefAbstract.Meta):
verbose_name = 'nameunit'
verbose_name_plural = 'namesofunits'
class ManageType(RefAbstract):
class Meta(RefAbstract.Meta):
verbose_name = 'type'
verbose_name_plural = 'types'
class CutareaShape(RefAbstract):
class Meta(RefAbstract.Meta):
verbose_name = 'cut'
verbose_name_plural = 'cuts'
class CutareaType(models.Model):
name = models.TextField('name', max_length=500)
def __str__(self):
return shorten(self.name, width=60)
class Meta:
verbose_name = 'cut2'
verbose_name_plural = 'cuts2'
class Composition(RefAbstract):
class Meta(RefAbstract.Meta):
verbose_name = 'set'
verbose_name_plural = 'sets'
class Assortment(RefAbstract):
class Meta(RefAbstract.Meta):
verbose_name = 'assort'
verbose_name_plural = 'assorts'
class CodeLS(RefAbstract):
class Meta(RefAbstract.Meta):
verbose_name = 'area'
verbose_name_plural = 'areas'
class LScharacteristic(models.Model):
code = models.IntegerField( help_text='number')
codeLS = models.ForeignKey(CodeLS, on_delete=models.DO_NOTHING, verbose_name='id area')
task = models.CharField(max_length = 100, help_text ='task')
totalrea = models.PositiveIntegerField(help_text = 'totarea')
explarea = models.PositiveIntegerField(help_text = 'explarea')
protecttype = models.CharField(max_length = 50, help_text = 'protecttype')
class PlannedUsing(models.Model):
#...some variables
class Spatial(models.Model):
#...some variables
我不明白为什么django扔了它。该admin.py文件的创建方式与另一个admin.py相似,它可以在应用程序中使用。
class LScharacteristicAdmin(admin.ModelAdmin)