django - 如何在mongoengine中找出字段的类型
问题描述
我一直在使用 blinker 库在 mongoengine 中编写信号。在将数据写入模型之前,我正在尝试对某些 fieldType 上的数据进行预处理。如何检查 mongoengine 中文档字段的类型。
@classmethod
def pre_save(cls, sender, document, **kwargs):
"""
Pre Save signal
"""
fields = document._fields
# If field is of TextField pre-process the data
解决方案
这是正确_fields
的,是类型的字典,{field_name: FieldClass}
是内部使用的
以下内容应该可以帮助您入门:
@classmethod
def pre_save(cls, sender, document, **kwargs):
"""
Pre Save signal
"""
fields = document._fields
for field_name, field_cls in fields.items():
if isinstance(field_cls, TextField):
new_attr_value = ...
setattr(document, field_name, new_attr_value)
推荐阅读
- java - 使用 Jackson 序列化和反序列化树结构
- mysql - 自动递增 MySQL 十进制数问题
- uwp - 如何创建 CoreApplicationView (C++/CX)?
- r - ggplot中facet_grid中的逐行着色
- java - IndexOutOfBoundsException setSpan (10 … 10) 结束超过长度 3
- python - 在django框架中将数据从python传递到html视图
- amazon-web-services - Nmap 找不到监听端口
- python - 按下时按钮不单击/调用功能
- php - 如何修复 PHP STORM 中关于 PHP 代码中的 SQL 故障的 PHP 消息?
- laravel - 用户数据未保存到 Laravel 6 中的数据库