Python 如何在Django Rest框架中重命名ForeignKey集字段
我正在使用Django Rest框架序列化外键集,我有以下模型:Python 如何在Django Rest框架中重命名ForeignKey集字段,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在使用Django Rest框架序列化外键集,我有以下模型: class Transaction(models.Model): ... class TransactionStatus(models.Model): transaction = models.ForeignKey(Transaction) ... 我对这两种模型都有一个序列化程序,其中一个如下所示: class TransactionSerializer(serializers.ModelSeriali
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')
我想在这里有一个事务状态列表,来自反向引用的_setqueryset。。。但是在API中,事务集似乎是一个非常尴尬的名称。经过一次快速的实验,我发现这会起作用:
class TransactionSerializer(serializers.ModelSerializer):
changes = TransactionStatusSerializer(many=True, read_only=True, source='transactionstatus_set')
class Meta:
model = Transaction
depth = 1
fields = ('id', 'changes')
现在我有一个状态列表,通过外键链接,名称很好…注意
source
是django模型中字段
的原始名称,相关序列化程序声明的变量(在本例中为“changes”)是重命名字段的最终名称。非常感谢您的回答,发现它让我很难受