【发布时间】:2020-03-14 17:25:35
【问题描述】:
模型
class Transaction(models.Model):
created_at = models.DateTimeField()
transaction_type = models.ForeignKey(
TransactionType,
on_delete=models.CASCADE
)
class Transfer(models.Model):
transaction_id = models.ForeignKey(
Transaction,
on_delete=models.CASCADE
)
debit = models.ForeignKey(
Account,
on_delete=models.CASCADE,
related_name='debit'
)
序列化器用于获取 json
class TransferSerializer(serializers.ModelSerializer):
class Meta:
model = Transfer
fields = ('created_at', 'debit',)
class TransactionSerializer(serializers.ModelSerializer):
transfers = TransferSerializer(many=True)
class Meta:
model = Transaction
fields = ('created_at', 'transaction_type', 'transfers')
观看次数
class TransactionViewSet(viewsets.ModelViewSet):
queryset = Transaction.objects.all()
serializer_class = TransactionSerializer
pagination_class = LimitOffsetPagination
如何返回以下json格式的数据?
最好的方法是什么?
当我尝试运行它时,出现错误“在序列化程序 TransactionSerializer 上尝试获取字段 transfers 的值时出现错误。”
{
"created_at": "2019-08-18",
"transaction_type_id": "1",
"transfers": {"debit": "100"},
}
【问题讨论】:
标签: python django serialization django-rest-framework jsonserializer