如何在Django Rest Framework中重命名ForeignKey集合字段
我正在使用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')
我想在这里显示一个来自反向引用的交易状态列表... 但是在API中,transaction_set这个名字听起来实在是太奇怪了...
1 个回答
12
经过简单的实验,我发现这个方法可以解决问题:
class TransactionSerializer(serializers.ModelSerializer):
changes = TransactionStatusSerializer(many=True, read_only=True, source='transactionstatus_set')
class Meta:
model = Transaction
depth = 1
fields = ('id', 'changes')
现在我有了一个状态列表,这些状态通过外键关联,并且名字也很好...