rest framework 序列化之depth遇到用户表外键的尴尬情况

问题:ModelSerializer序列化使用depth=1直接扩表把用户表所有信息查询出来的情况

class xxxSerializers(serializers.ModelSerializer):
class Meta:
model = xxx
fields = ('item_id', 'xxxx','user')
depth = 1

解决方式:

class xxxSerializers(serializers.ModelSerializer):
username = serializers.SerializerMethodField()
def get_username (self, obj): //obj是对应的一个对象
if obj.user:
return obj.user.username
return None
class Meta:
model = xxx
fields = ('item_id', 'xxxx','user')
depth = 1

rest framework 序列化之depth遇到用户表外键的尴尬情况的更多相关文章

  1. sql查询指定表外键约束

    //////////////////查询指定表外键约束select a.name as 约束名, object_name(b.parent_object_id) as 外键表, d.name as 外 ...

  2. Oracle系统表外键的更名

    正在看的ORACLE教程是:Oracle系统表外键的更名. Oracle中表的外键是保证系统参照完整性的手段,而参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系.外键涉及到两个表,其中一 ...

  3. SQL语句添加表外键

    ALTER TABLE 表名 ADD CONSTRAINT FK_ID FOREIGN KEY(外键列) REFERENCES 外键表(外键表主键)

  4. DROP TABLE ** CASCADE CONSTRAINTS PURGE删除表的时候级联删除从表外键

    1.关于 cascade constraints 假设A为主表(既含有某一主键的表),B为从表(即引用了A的主键作为外键). 则当删除A表时,如不特殊说明,则 drop table A 系统会出现错误 ...

  5. MySQL数据库 crud语句 ifnull() 创建新账户 备份数据库 一对多关系 多对多(中间表) 外键约束 自关联 子查询注意事项 DML DDL DQL mysql面试题 truncate与delete的区别

    DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ...

  6. django admin 添加用户出现外键约束错误

    今天在做mxonline项目时,注册了用户表进admin后,想在后台添加一个用户试试,结果出现了错误,经过一番搜索发现以下两个解决方法,不过我只用了一种 报错信息: IntegrityError: ( ...

  7. oracle中查询、禁用、启用、删除表外键

    1.查询所有表的外键的: select table_name, constraint_name from user_constraints where constraint_type = 'R';   ...

  8. Entity Framework Code First添加修改及删除外键关联实体

    1.添加外键关联实体 1>.添加新的Province及City实体 using (var ctx = new PortalContext()) { var city1 = new City { ...

  9. sql 删除数据库表 外键

    --/第1步**********删除所有表的外键约束*************************/   DECLARE c1 cursor for select 'alter table ['+ ...

随机推荐

  1. 常用网络命令 在windows下

    1.增加一条临时静态路由 格式:route add <目的网络地址> mask <目的网络子网掩码> <网关> 实例:route add 0.0.0.0 mask ...

  2. Luogu4316 | 绿豆蛙的归宿 (期望DP)

    题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都 ...

  3. pytest-fixture之conftest.py

    场景: 对于一个py文件中某些用例需要前置条件,某些用例不需要前置条件的情况,使用setup/teardown肯定是不方便的, 这时就需要自定义测试用例的前置条件. 1.fixture优点: 命名不局 ...

  4. Wannafly Camp 2020 Day 6N. 合并!

    #include <bits/stdc++.h> using namespace std; int n,a[2005]; int main() { long long ans=0; cin ...

  5. [HNOI2003] 消防局的设立 - 树形dp

    仍然是点覆盖集问题,但覆盖半径变成了\(2\) 延续上一题的思路,只是式子更加复杂了 想体验一下min_element大法于是不想优化了 #include <bits/stdc++.h> ...

  6. PHPstorm出现卡顿解决小记

    用的是PHPstorm9,在打开了两个比较大的文件之后,码字反应变得很慢,久不久操作快点还会出现转蓝色小圈圈,最后还给了我这个提示TOT: google了下说是设置的内存不够了,看了下任务管理器php ...

  7. Linux C/C++ 字符串逆序

    /*字符串逆序*/ #include <stdio.h> #include <string.h> void nixu(char *str) { ; char tmp; for( ...

  8. layui树形结构更改

    /* * 将json字符串更改为layui.tree所用的数据结构类型,输出仍然为json字符串 * tanghao 7.29 */ function dataToTreeData(oData_str ...

  9. vue组件插槽与编译作用域

    <!DOCTYPE html> <html> <head> <title></title> </head> <script ...

  10. promise是怎么来的?

    一.promise是如何产生的 1. promise并不是一个新的功能,它是一个类,它只是对 异步编程的代码进行整合,它是解决异步(层层嵌套的这种关系),让你的代码看起来更简洁. 2. 在 es6 中 ...