DjangoRestFramework的外键反向关系序列化的一个问题
2017-08-31 10:29
851 查看
先用文档中的样例:
Models定义:
关系序列化定义:
这个关系序列化有效的前提是必须在model定义中加
这个设置项,否则tracks在虚拟化结果中会找不到或者报错。
Models定义:
class Album(models.Model): album_name = models.CharField(max_length=100) artist = models.CharField(max_length=100) class Track(models.Model): album = models.ForeignKey(Album, related_name='tracks', on_delete=models.CASCADE) order = models.IntegerField() title = models.CharField(max_length=100) duration = models.IntegerField() class Meta: unique_together = ('album', 'order') ordering = ['order'] def __unicode__(self): return '%d: %s' % (self.order, self.title)
关系序列化定义:
class TrackSerializer(serializers.ModelSerializer): class Meta: model = Track fields = ('order', 'title', 'duration') class AlbumSerializer(serializers.ModelSerializer): tracks = TrackSerializer(many=True, read_only=True) class Meta: model = Album fields = ('album_name', 'artist', 'tracks')
这个关系序列化有效的前提是必须在model定义中加
related_name='tracks'
这个设置项,否则tracks在虚拟化结果中会找不到或者报错。
相关文章推荐
- 由一个问题引发的思考——关于数据库的外键约束
- POJ 1703 Find them, Catch them 并查集 (关系问题 判断是否在一个集合)
- Oracle 查看一个表对应的主键和外键的约束关系
- java序列化多次序列化到同一个文件及反序列化的问题[转载]
- 外键关系问题
- Java序列化的一个问题
- 通过触发器实现两张有主外键关系的表的数据插入问题
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- POJ 1703 Find them, Catch them 并查集 (关系问题 判断是否在一个集合)
- 一个很有意思的序列化崩溃问题 -- 简化问题找到根源
- 一个简单的django user.is_authenticated问题
- 一个关于解决序列化问题的编程技巧
- 由于外键的存在引发的一个mysql问题 Cannot change column 'id': used in a foreign key constraint
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django update和create外键时出现问题
- POJ 1703 Find them, Catch them 并查集 (关系问题 判断是否在一个集合)
- 在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键)
- EF加载外键的一个性能问题
- 一个简单的问题:在Django中如何将views.py中的变量传递到HTML/JavaScript中?
- linq 实体类与viewstate、cache(一个序列化与反序列化的问题)