I've upgraded a django project to the latest version 3.1.2 from an older version and one issue is Meta Classes imports. I have this model which intends to inherit meta classes like so
class Guide(Contact):
operator = models.ForeignKey('guides.SafariOperator', blank=True, null=True, on_delete=models.CASCADE)
level = models.ForeignKey('guides.MembershipLevel', blank=True, null=True, on_delete=models.CASCADE)
expiry_date = models.DateField(default=django.utils.timezone.now)
language = models.ManyToManyField('guides.Language', blank=True)
class Meta:
ordering = ['name']
class GuideResource(resources.ModelResource):
id = fields.Field(column_name='Bd/Sr', attribute="id")
sortorder = fields.Field(column_name='Bd/Sr', attribute="sortorder")
#description = fields.Field(column_name='Company', attribute="description")
address = fields.Field(column_name='Wk PO Box', attribute="address")
telephone = fields.Field(column_name='Tel', attribute="telephone")
fax = fields.Field(column_name='Fax', attribute="fax")
email = fields.Field(column_name='E-mail', attribute="email")
class Meta(Guide.Meta):
abstract = True
which then throws this error
Traceback (most recent call last):
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/core/handlers/base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 233, in inner
return view(request, *args, **kwargs)
File "/home/sammy/webapps/kpsga/import_export/admin.py", line 154, in import_action
context['fields'] = [f.column_name for f in resource.get_fields()]
File "/home/sammy/webapps/kpsga/import_export/resources.py", line 113, in get_fields
return [self.fields[f] for f in self.get_export_order()]
File "/home/sammy/webapps/kpsga/import_export/resources.py", line 296, in get_export_order
return self._meta.export_order or self.fields.keys()
Exception Type: AttributeError at /admin/guides/guide/import/
Exception Value: 'GuideResource' object has no attribute '_meta'
when clicking a custom admin button for importing data.