我尝试使用Django REST框架序列化两个模型字段,作为dict列表提供。在
这是我的模型.py:
class Translation(models.Model):
translated_term = models.CharField(max_length=200)
translated_meaning = models.TextField()
language = models.CharField(max_length=200)
vocab = models.ForeignKey(Vocab, related_name='translates')
def __unicode__(self):
return '%s: %s' % ( self.language,self.translated_term)
视图.py:
^{pr2}$序列化程序.py:
class VocabSerializer(serializers.ModelSerializer):
...
translates= serializers.StringRelatedField(many=True)
...
class Meta:
model = Vocab
fields = (...,'translates',...)
Api结果:
{
.....
"translates": [
"EN: Abyssal zone"
],
....
}
我的问题是如何将我的翻译设置为一个如下的dicts列表:
预期API结果:
{
.....
"translates": [
{EN: "Abyssal zone"}
],
....
}
我遵循docs,但我不知道这是否是一种写入方式。我试着用序列化程序.DictFields像这样:
class translateField(serializers.DictField):
child = serializers.CharField()
class VocabSerializer(serializers.ModelSerializer):
term_word = serializers.CharField(source='term.word',read_only=True)
kwdGroup = serializers.StringRelatedField()
translates = serializers.DictField(child=serializers.CharField())
class Meta:
model = Vocab
fields = ('uuid','id','term_word', 'meaning', 'source', 'translates','kwdGroup')
它发生在:
'RelatedManager' object has no attribute 'items'
我很难找到解决这个问题的方法。你能告诉我你对这个问题的看法吗?任何建议都很好。在
谢谢。在
目前没有回答
相关问题 更多 >
编程相关推荐