我有两个多对多关系的模型。你知道吗
class MyModel(models.Model):
value = models.CharField(max_length=255)
tests = models.ManyToManyField(to='Test', null=True, related_name='models')
class Test(models.Model):
name = models.CharField(max_length=255)
我试图实现的是将“MyModel”显示为其“value”字段的列表。 下面是我的序列化程序(也很简单):
class MyModelSerializer(serializers.Serializer):
value = serializers.CharField()
class Meta:
model = models.MyModel
fields = ('value',)
class TestSerializer(serializers.ModelSerializer):
models = MyModelSerializer(many=True, read_only=True)
class Meta:
model = models.Test
fields = ('name','models')
到目前为止,我得到了一个对象列表:
"name": "",
"models": [
{
"value": "question"
}
]
有没有办法将“值”字段显示为字符串列表而不是对象列表?你知道吗
重要,我希望避免序列化方法或模型中的任何方法。有什么内在的方法吗?你知道吗
已更新
如果有人对这个解决方案感兴趣,我最终会重写MyModelSerializer
中的“to\u表示方法”,并得到期望的结果。
这是一个序列化程序:
class MyModelSerializer(serializers.Serializer):
class Meta:
model = models.MyModel
def to_representation(self, instance):
return instance.value
试试
values_list
方法。你知道吗其结果将是一个字符串列表,表示存储在“values”字段中的值。你知道吗
相关问题 更多 >
编程相关推荐