【发布时间】:2015-03-11 13:30:33
【问题描述】:
我正在使用 Django Rest Framework 和 AngularJS。 我有 Task 和 Client 模型。 Client 模型是 Task 的外键。
mInside serializers.py,ClientSerializer() 看起来像:
class ClientBasicSerializer(serializers.ModelSerializer):
class Meta:
model = Client
fields = ('id', 'name', 'gender')
TaskSerializer()(不工作)看起来像这样:
class TaskSerializer(serializers.ModelSerializer):
client = serializers.PrimaryKeyRelatedField(read_only=True)
client_data = serializers.ClientSerializer()
class Meta:
model = Task
可以看出:
- client 只检索 PK。我用它来保存带有 AngularJS 资源的任务模型。
- client_data 包含嵌套的客户端对象。我需要它来为用户显示客户端信息。
但是,它不起作用,因为 Django 客户端模型内部没有定义 client_data 字段(我认为我不应该定义它)。
如何将其定义为 TaskSerializer() 中的自定义字段,并且仍然可以利用 ClientSerializer()?
【问题讨论】:
标签: django angularjs django-rest-framework angular-resource