flask_mongo_drf package
Subpackages
Submodules
flask_mongo_drf.mongo_decorators module
flask_mongo_drf.mongo_exceptions module
- exception flask_mongo_drf.mongo_exceptions.APIException(message=None, code=None, payload=None)[source]
Bases:
Exception- message = 'Internal Server Error'
- code = 500
- exception flask_mongo_drf.mongo_exceptions.ValidationError(message=None, code=None, payload=None)[source]
Bases:
APIException- code = 400
- message = 'Validation failed'
- exception flask_mongo_drf.mongo_exceptions.AuthenticationFailed(message=None, code=None, payload=None)[source]
Bases:
APIException- code = 401
- message = 'Authentication failed'
- exception flask_mongo_drf.mongo_exceptions.PermissionDenied(message=None, code=None, payload=None)[source]
Bases:
APIException- code = 403
- message = 'Permission denied'
- exception flask_mongo_drf.mongo_exceptions.NotFound(message=None, code=None, payload=None)[source]
Bases:
APIException- code = 404
- message = 'Resource not found'
- exception flask_mongo_drf.mongo_exceptions.MongoDBConnectionError(message=None, code=None, payload=None)[source]
Bases:
APIException- code = 500
- message = 'MongoDB connection failed'
flask_mongo_drf.mongo_filters module
- class flask_mongo_drf.mongo_filters.Filter(field_name: str | None = None, lookup_expr: str = 'exact', method: str | None = None, help_text: str | None = None)[source]
Bases:
object
- class flask_mongo_drf.mongo_filters.CharFilter(field_name: str | None = None, lookup_expr: str = 'exact', method: str | None = None, help_text: str | None = None)[source]
Bases:
Filter
- class flask_mongo_drf.mongo_filters.NumberFilter(field_name: str | None = None, lookup_expr: str = 'exact', method: str | None = None, help_text: str | None = None)[source]
Bases:
Filter
- class flask_mongo_drf.mongo_filters.BooleanFilter(field_name: str | None = None, lookup_expr: str = 'exact', method: str | None = None, help_text: str | None = None)[source]
Bases:
Filter
- class flask_mongo_drf.mongo_filters.DateFilter(field_name: str | None = None, lookup_expr: str = 'exact', date_format: str = '%Y-%m-%d', **kwargs)[source]
Bases:
Filter
flask_mongo_drf.mongo_models module
- class flask_mongo_drf.mongo_models.MongoBaseModel(collection: Collection)[source]
Bases:
objectMongoDB 基础模型类。 通过依赖注入方式传入 PyMongo Collection 对象,与框架解耦。
- find_all(query: Dict[str, Any], sort_by: str | None = None, sort_order: int = -1) Iterator[Dict[str, Any]][source]
返回游标,避免一次性加载所有文档。 若需要排序,传入 sort_by 字段名和 sort_order(1 升序,-1 降序)。
flask_mongo_drf.mongo_paginations module
flask_mongo_drf.mongo_responses module
flask_mongo_drf.mongo_serializers module
- class flask_mongo_drf.mongo_serializers.Field(required: bool = False, default: Any | None = None, allow_null: bool = False, read_only: bool = False, write_only: bool = False, validators: List[Callable] | None = None, help_text: str = '')[source]
Bases:
object字段基类
- class flask_mongo_drf.mongo_serializers.CharField(max_length: int | None = None, min_length: int | None = None, **kwargs)[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.IntegerField(min_value: int | None = None, max_value: int | None = None, **kwargs)[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.FloatField(required: bool = False, default: Any | None = None, allow_null: bool = False, read_only: bool = False, write_only: bool = False, validators: List[Callable] | None = None, help_text: str = '')[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.BooleanField(required: bool = False, default: Any | None = None, allow_null: bool = False, read_only: bool = False, write_only: bool = False, validators: List[Callable] | None = None, help_text: str = '')[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.DateTimeField(format: str = '%Y-%m-%d %H:%M:%S', **kwargs)[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.ObjectIdField(required: bool = False, default: Any | None = None, allow_null: bool = False, read_only: bool = False, write_only: bool = False, validators: List[Callable] | None = None, help_text: str = '')[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.ListField(child: Field | None = None, **kwargs)[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.DictField(required: bool = False, default: Any | None = None, allow_null: bool = False, read_only: bool = False, write_only: bool = False, validators: List[Callable] | None = None, help_text: str = '')[source]
Bases:
Field
- class flask_mongo_drf.mongo_serializers.SerializerMetaclass(name, bases, attrs)[source]
Bases:
type
- class flask_mongo_drf.mongo_serializers.Serializer(instance=None, data=None, partial=False)[source]
Bases:
object- property errors
- property validated_data
- class flask_mongo_drf.mongo_serializers.ModelSerializer(instance=None, data=None, partial=False, model=None)[source]
Bases:
Serializer
flask_mongo_drf.mongo_swagger module
flask_mongo_drf.mongo_viewsets module
- class flask_mongo_drf.mongo_viewsets.MongoModelViewSet[source]
Bases:
objectDRF 风格的 ModelViewSet,提供 list, create, retrieve, update, partial_update, destroy。
子类需要配置: - collection: PyMongo Collection 实例(必须) - serializer_class: 序列化器类(可选,默认自动生成) - filterset_class: 过滤器类(可选) - pagination_class: 分页器类(默认 MongoPagination) - default_sort_by / default_sort_order: 默认排序
- model_class = None
- collection = None
- serializer_class: Type[Serializer] = None
- pagination_class
alias of
MongoPagination