这是定义的模型:
class User(models.Model):
name = models.CharField(max_length=250)
status = models.IntegerField(default=1)
created_at = models.DateTimeField(verbose_name='date created', auto_now_add=True)
updated_at = models.DateTimeField(verbose_name='date updated', auto_now_add=True)
def __str__(self):
return self.name
class UserInfo(models.Model):
user_id = models.ForeignKey(User, on_delete = models.CASCADE, null = True)
phone = models.IntegerField()
status = models.IntegerField(default=1)
created_at = models.DateTimeField(verbose_name='date created', auto_now_add=True)
updated_at = models.DateTimeField(verbose_name='date updated', auto_now_add=True)
def __str__(self):
return '%d: ' % (self.user_id)
这些是序列化器的外观:
class UserSerializer(serializers.ModelSerializer):
info = UserInfoSerializer(read_only=True, many=True)
class Meta:
model = User
fields = ['id', 'name', 'status', 'info']
我应该在响应中获取信息密钥。但是,在返回ID,名称和状态键的同时,缺少信息键。
我在这里想念什么?
使用source
参数
class UserSerializer(serializers.ModelSerializer):
info = UserInfoSerializer(read_only=True, many=True, source='userinfo_set')
class Meta:
model = User
fields = ['id', 'name', 'status', 'info']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句