Django ORM通过多个模型访问用户表

 问道摩托 发布于 2023-01-07 12:30

views.py

我正在创建一个我想序列化并作为JSON返回的查询集.查询集如下所示:

all_objects = Program.objects.all()
test_data = serializers.serialize("json", all_objects, use_natural_keys=True)

除了"用户"模型(跨两个模型链接)之外,这将拉回所有内容.

models.py

from django.db import models
from django.contrib.auth.models import User

class Time(models.Model):
    user = models.ForeignKey(User)
    ...

class CostCode(models.Model):
    program_name = models.TextField()        
    ...

class Program(models.Model):
    time = models.ForeignKey(Time)
    program_select = models.ForeignKey(CostCode)
    ...

我返回的数据有Time,Program和CostCode信息,但我无法查询'User'表.如何在同一个查询集中找回"用户名"(来自用户表)?

注意:我已将我的查询集更改为all_objects = Time.objects.all(),这会获取用户信息,但之后它不会引入"CostCode".我的模型也有ModelManagers返回,get_by_natural_key所以相关字段出现在我的JSON中.

最终,我希望所有四个模型的数据都出现在我的序列化JSON字段中,我只是缺少'用户名'.

这是一张JSON对象当前如何出现在Firebug中的图片: Firefox的Firebug显示了JSON对象

谢谢你的帮助!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有