xx

复制代码
from typing import Any, Dict, List

from django.core.exceptions import FieldDoesNotExist
from django.db import models


def serialize_model(model: models.Model) -> Dict[str, Any]:
    result = {
        name: serialize_model(foreign_key)
        for name, foreign_key in model.__dict__["_state"].__dict__.get("fields_cache", {}).items()
    }
    for name, value in model.__dict__.items():
        try:
            model._meta.get_field(name)
        except FieldDoesNotExist:
            continue
        else:
            result[name] = value
    for name, queryset in model.__dict__.get("_prefetched_objects_cache", {}).items():
        result[name] = serialize_queryset(queryset)
    return result


def serialize_queryset(queryset: models.QuerySet) -> List[Dict[str, Any]]:
    return [serialize_model(model) for model in queryset]
复制代码

 

posted @   一石数字欠我15w!!!  阅读(203)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
历史上的今天:
2018-04-25 Ubuntu16.04 下docker部署web项目
2018-04-25 jQuery实现啊城市选择
2018-04-25 城市代码-字典实现
点击右上角即可分享
微信分享提示