我试图让属于相关的对象是从ModelSerializer可读可写的一个领域。 我有一个模型Group
:
class Group(models.Model):
...
name = models.CharField(max_length=128)
def get_language(self):
line = self.line_set.all()[0]
return line.language
...
和相应的串行:
class GroupSerializer(serializers.ModelSerializer):
language = serializers.CharField(source='get_language')
class Meta:
model = Group
fields = ('id', 'name', 'language')
lookup_field= 'pk'
该Group
模式是关系到Line
模型,其中language
领域的生活:
class Line(models.Model):
...
language = models.CharField(max_length=24)
groups = models.ManyToManyField(Group, blank=True, null=True)
...
我试图揭露Line.language
集团API在阅读和写作 。 我已经使用CharField如上试过了,但是当我去发布一个新的模式,我得到这个错误:
TypeError at /AO/s/v2/group/
'get_language' is an invalid keyword argument for this function
我也想过尝试定制相关的领域和实施from_native,但是这需要一个查询集在这里是不相关的。
提前致谢。