mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-27 00:19:53 +03:00
All kind of relations should work now
This commit is contained in:
parent
3425dfd801
commit
e25cea43a9
|
@ -370,7 +370,9 @@ class ModelSerializer(Serializer):
|
||||||
_options_class = ModelSerializerOptions
|
_options_class = ModelSerializerOptions
|
||||||
|
|
||||||
def get_reverse_fields(self, opts, fields):
|
def get_reverse_fields(self, opts, fields):
|
||||||
relations = [obj for obj in opts.get_all_related_many_to_many_objects() if obj.field.serialize]
|
relations = []
|
||||||
|
relations += [obj for obj in opts.get_all_related_objects() if obj.field.serialize]
|
||||||
|
relations += [obj for obj in opts.get_all_related_many_to_many_objects() if obj.field.serialize]
|
||||||
return [rel.field for rel in relations]
|
return [rel.field for rel in relations]
|
||||||
|
|
||||||
def get_default_fields(self):
|
def get_default_fields(self):
|
||||||
|
@ -411,7 +413,10 @@ class ModelSerializer(Serializer):
|
||||||
|
|
||||||
if field:
|
if field:
|
||||||
if model_field in reverse_fields:
|
if model_field in reverse_fields:
|
||||||
ret[model_field.rel.related_name] = field
|
# Get user set 'related_name' or automatically set field
|
||||||
|
# name e.g. 'comment_set'
|
||||||
|
name = model_field.related.get_accessor_name()
|
||||||
|
ret[name] = field
|
||||||
else:
|
else:
|
||||||
ret[model_field.name] = field
|
ret[model_field.name] = field
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user