mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-04 01:47:59 +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 
 | 
			
		||||
        for fname in fields:
 | 
			
		||||
            if fname in instance:
 | 
			
		||||
                # finally check for a key 'fname' on the instance
 | 
			
		||||
                obj = instance[fname]
 | 
			
		||||
            elif hasattr(self, smart_str(fname)):
 | 
			
		||||
                # check for a method 'fname' on self first
 | 
			
		||||
            if hasattr(self, smart_str(fname)):
 | 
			
		||||
                # check first for a method 'fname' on self first
 | 
			
		||||
                meth = getattr(self, fname)
 | 
			
		||||
                if inspect.ismethod(meth) and len(inspect.getargspec(meth)[0]) == 2:
 | 
			
		||||
                    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)):
 | 
			
		||||
                # now check for an attribute 'fname' on the instance
 | 
			
		||||
                # finally check for an attribute 'fname' on the instance
 | 
			
		||||
                obj = getattr(instance, fname)
 | 
			
		||||
            else:
 | 
			
		||||
                continue
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user