如何在Django Rest Framework中重命名外键集字段

时间:2014-08-30 00:29:24

标签: python django django-rest-framework

我正在使用Django Rest Framework序列化外键集,我有以下模型:

class Transaction(models.Model):
    ...
class TransactionStatus(models.Model):
    transaction = models.ForeignKey(Transaction)
    ...

我有两个这些模型的序列化器,其中一个看起来像这样:

class TransactionSerializer(serializers.ModelSerializer):
    transactionstatus_set = TransactionStatusSerializer(many=True, read_only=True)

    class Meta:
        model = Transaction
        depth = 1
        fields = ('id', 'transactionstatus_set')

我想在这里有一个来自后面引用的_set queryset的事务状态列表......但是事务中,在API中看起来只是一个非常尴尬的名称..

1 个答案:

答案 0 :(得分:9)

经过快速实验后,我发现这可以解决问题:

class TransactionSerializer(serializers.ModelSerializer):
    changes = TransactionStatusSerializer(many=True, read_only=True, source='transactionstatus_set')

    class Meta:
        model = Transaction
        depth = 1
        fields = ('id', 'changes')

现在我有一个由外键链接的状态列表,名字很好......