Я хочу отделить некоторый код из моих представлений в mixins.py, это предупреждение, как указано выше в pycharm.но я нашел код restframework на mixins.py нет.я ссылаюсь на некоторые ссылки, например: Python Mixin - неразрешенная ссылка на атрибут [PyCharm] почему они отличаются в pycharm?сомнение также существует.
код перекомпоновки в mixins.py:
class ListModelMixin(object):
"""
List a queryset.
"""
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
мой код в my mixins.py, self.abstract_model
будет предупреждением:
class SomeMixin(object):
def dynamic_generate_filter(self, year, month):
"""
动态设置过滤类
"""
concrete_model = self.abstract_model.get_model(year, month)
class Meta:
model = concrete_model
fields = ('dep_id', 'job_title_id', 'access_date', 'sort_key', 'keyword')
class_name = concrete_model.__name__ + 'Filter'
bases = (self.abstract_filter_class,)
attrs = dict(Meta=Meta)
filter_class = type(class_name, bases, attrs)
setattr(self.__class__, 'filter_class', filter_class)
Я просто хочу быть тем же, что и код restframework mixins.py, а не быть предупреждением.