Django嵌套序列化:如何捕获空对象?

时间:2019-05-05 20:59:27

标签: python django rest object serialization

我正在通过table1的django rest api请求数据,该api的主键指向table2。主键指针可以为空。我设法拥有一个嵌套的序列化程序,以便能够在一个get请求中发送两个表的数据。

当主键为Null时,我想发送一个默认对象而不是Null。这是一个序列化文件的示例:

class TrackSerializer(serializers.ModelSerializer):
    class Meta:
        model = Track
        fields = ('order', 'title', 'duration')

class AlbumSerializer(serializers.ModelSerializer):
    tracks = TrackSerializer(many=False, read_only=True)
    if tracks is None:
        tracks = some default data to prevent Null

    class Meta:
        model = Album
        fields = ('album_name', 'artist', 'tracks')

原因是来自table2的数据将在视图中使用,并且如果track为空(在本示例中),当前将破坏模板。使用默认值可以解决该问题。

这是我第一次在Django中编程,也是第一次实现api。任何帮助将不胜感激!

0 个答案:

没有答案