mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-04 09:57:55 +03:00 
			
		
		
		
	fixed a bug in serializers
This commit is contained in:
		
							parent
							
								
									e53c3cd417
								
							
						
					
					
						commit
						11ee385743
					
				| 
						 | 
					@ -228,16 +228,16 @@ class Serializer(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # serialize each required field 
 | 
					        # serialize each required field 
 | 
				
			||||||
        for fname in fields:
 | 
					        for fname in fields:
 | 
				
			||||||
            if fname in instance:
 | 
					            if hasattr(self, smart_str(fname)):
 | 
				
			||||||
                # finally check for a key 'fname' on the instance
 | 
					                # check first for a method 'fname' on self first
 | 
				
			||||||
                obj = instance[fname]
 | 
					 | 
				
			||||||
            elif hasattr(self, smart_str(fname)):
 | 
					 | 
				
			||||||
                # check for a method 'fname' on self first
 | 
					 | 
				
			||||||
                meth = getattr(self, fname)
 | 
					                meth = getattr(self, fname)
 | 
				
			||||||
                if inspect.ismethod(meth) and len(inspect.getargspec(meth)[0]) == 2:
 | 
					                if inspect.ismethod(meth) and len(inspect.getargspec(meth)[0]) == 2:
 | 
				
			||||||
                    obj = meth(instance)
 | 
					                    obj = meth(instance)
 | 
				
			||||||
 | 
					            elif hasattr(instance, '__contains__') and fname in instance:
 | 
				
			||||||
 | 
					                # check for a key 'fname' on the instance
 | 
				
			||||||
 | 
					                obj = instance[fname]
 | 
				
			||||||
            elif hasattr(instance, smart_str(fname)):
 | 
					            elif hasattr(instance, smart_str(fname)):
 | 
				
			||||||
                # now check for an attribute 'fname' on the instance
 | 
					                # finally check for an attribute 'fname' on the instance
 | 
				
			||||||
                obj = getattr(instance, fname)
 | 
					                obj = getattr(instance, fname)
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                continue
 | 
					                continue
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user