Django Rest API中的ManyToManyField是一种关系字段,用于表示多对多关系。它允许在两个模型之间建立多对多的关联关系。在练习数组中显示'title'而不是'id',可以通过以下步骤实现:
class Model1(models.Model):
title = models.CharField(max_length=100)
class Model2(models.Model):
models1 = models.ManyToManyField(Model1, related_name='model2s')
from rest_framework import serializers
class Model2Serializer(serializers.ModelSerializer):
models1 = serializers.StringRelatedField(many=True, read_only=True)
class Meta:
model = Model2
fields = ['id', 'models1']
在上述代码中,使用StringRelatedField来序列化ManyToManyField字段,它将显示关联模型的字符串表示形式(即'title'字段)而不是默认的'id'字段。
from rest_framework import viewsets
class Model2ViewSet(viewsets.ModelViewSet):
queryset = Model2.objects.all()
serializer_class = Model2Serializer
通过以上步骤,当访问Model2的API时,将返回一个包含与Model2关联的Model1对象的数组,每个对象都包含'title'字段的值。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云