Django rest framework Django REST模型Model.objects.create函数的参数
需要知道Model.objects.create函数的参数。此示例来自以下链接:。在这一行中,Track.objects.create(album=album,**Track\u data) 什么是相册?我认为相册右侧的赋值是Django rest framework Django REST模型Model.objects.create函数的参数,django-rest-framework,django-serializer,Django Rest Framework,Django Serializer,需要知道Model.objects.create函数的参数。此示例来自以下链接:。在这一行中,Track.objects.create(album=album,**Track\u data) 什么是相册?我认为相册右侧的赋值是album.objects.create(**validated_data),但左侧的相册是什么。根据文档,这是模型字段。但是无论是音轨还是相册都不包含字段Album` 这是相册的默认型号名称吗 class TrackSerializer(serializers.Model
album.objects.create(**validated_data)
,但左侧的相册是什么。根据文档,这是模型字段。但是无论是音轨
还是相册都不包含字段
Album`
这是相册的默认型号名称吗
class TrackSerializer(serializers.ModelSerializer):
class Meta:
model = Track
fields = ['order', 'title', 'duration']
class AlbumSerializer(serializers.ModelSerializer):
tracks = TrackSerializer(many=True)
class Meta:
model = Album
fields = ['album_name', 'artist', 'tracks']
def create(self, validated_data):
tracks_data = validated_data.pop('tracks')
album = Album.objects.create(**validated_data)
for track_data in tracks_data:
Track.objects.create(album=album, **track_data)
return album
本教程中没有明确说明,但假定在
曲目
中有一个名为album的外键字段,它引用了album
模型
请注意示例部分的第二个代码段中的以下内容:
>>> album = Album.objects.create(album_name="The Grey Album", artist='Danger Mouse')
>>> Track.objects.create(album=album, order=1, title='Public Service Announcement', duration=245)
<Track: Track object>
>>album=album.objects.create(album\u name=“灰色相册”,艺术家='Danger Mouse')
>>>Track.objects.create(相册=相册,订单=1,标题='公共服务公告',持续时间=245)
这暗示了我的意思。如果在
TrackSerializer
上没有字段album
,那么如果它只是Track.objects.create(**Track\u data)
,则会产生错误,因为字段album
将丢失。因此,您需要明确地包含它。在本教程中没有明确提到,但假定在曲目中有一个名为album的外键字段,它引用了album
模型
请注意示例部分的第二个代码段中的以下内容:
>>> album = Album.objects.create(album_name="The Grey Album", artist='Danger Mouse')
>>> Track.objects.create(album=album, order=1, title='Public Service Announcement', duration=245)
<Track: Track object>
>>album=album.objects.create(album\u name=“灰色相册”,艺术家='Danger Mouse')
>>>Track.objects.create(相册=相册,订单=1,标题='公共服务公告',持续时间=245)
这暗示了我的意思。如果在TrackSerializer
上没有字段album
,那么如果它只是Track.objects.create(**Track\u data)
,则会产生错误,因为字段album
将丢失。因此,您需要明确地包含它