擅长:python、mysql、java
<p>我使用以下方法来实现所谓的<code>Nested Serializer Dynamic Model Fields</code>。在</p>
<pre><code>class SerializerTwo(serializers.ModelSerializer):
fields_filter_key = 'two_fields'
class Meta:
model = Two
fields = ('name', 'contact_number')
class SerializerOne(DynamicFieldsModelSerializer, serializers.ModelSerializer):
fields_filter_key = 'one_fields'
another_field = serializers.SerializerMethodField()
class Meta:
lookup_field = 'uuid'
model = One
fields = ('status', 'another_field',)
def get_another_field(self, obj):
another_filed_serializer = SerializerTwo(obj.another_field,
context=self.context)
return another_filed_serializer.data
</code></pre>
<p>我们对<code>DynamicFieldsModelSerializer</code>做了一些修改</p>
^{pr2}$
<p>所以最后一个问题是如何组织url,将<code>GET</code>url写成这样:</p>
<p><code>domain/something?one_fields=name,contact_number&two_fields=another_field</code></p>