我正在通过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。任何帮助将不胜感激!