关于奇怪的事情,我需要您的帮助。
我有以下型号:
class Profile(models.Model):
first_name = models.CharField(max_length=20, default="")
last_name = models.CharField(max_length=20, default="")
email = models.EmailField(max_length=50, unique=True, default="")
image = models.ImageField(null=True, blank=True, upload_to=profile_image_upload_path)
class Skill(models.Model):
profiles = models.ManyToManyField(Profile, blank=True)
name = models.CharField(max_length=30)
image = models.ImageField(upload_to=skill_image_upload_path)
is_tech_skill = models.BooleanField(default=True)
和以下序列化器:
class SkillSerializer(serializers.ModelSerializer):
profiles = serializers.PrimaryKeyRelatedField(queryset=Profile.objects.all(), many=True)
class Meta:
model=Skill
fields=['name', 'image', 'is_tech_skill', 'expertise']
class ProfileSerializer(serializers.ModelSerializer):
skill_list = SkillSerializer(read_only=True, many=True,)
class Meta:
model = Profile
fields = ('first_name', 'last_name', 'email', 'image', 'skill_list')
depth = 2
当我请求个人资料时,我看不到任何技能:
我在django管理控制台中为此个人资料添加了两项技能。
非常感谢!
答案 0 :(得分:0)
序列化器中没有“个人资料” 。 1。。您在“个人资料” 中命名了其他名称后,将ManyToMany命名为个人资料,并且没有在任何地方使用它。 2。。我认为您需要将其添加到 serializer 中的字段中 3。。将 related_name 添加到您的 ManyToManyField