relates to (#710)
- Update gridfs.rst to make it clearer that you should save the Document hosting the GridFSProxy after calling .delete() or .replace() on the GridFSProxy - updated GridFSProxy.__str__ so that it would always print both the filename and the grid_id. This should improve debugging
This commit is contained in:
		
				
					committed by
					
						
						Bastien Gérard
					
				
			
			
				
	
			
			
			
						parent
						
							36c5f02bfb
						
					
				
				
					commit
					461b789515
				
			@@ -53,7 +53,8 @@ Deletion
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Deleting stored files is achieved with the :func:`delete` method::
 | 
					Deleting stored files is achieved with the :func:`delete` method::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    marmot.photo.delete()
 | 
					    marmot.photo.delete()    # Deletes the GridFS document
 | 
				
			||||||
 | 
					    marmot.save()            # Saves the GridFS reference (being None) contained in the marmot instance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. warning::
 | 
					.. warning::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -71,4 +72,5 @@ Files can be replaced with the :func:`replace` method. This works just like
 | 
				
			|||||||
the :func:`put` method so even metadata can (and should) be replaced::
 | 
					the :func:`put` method so even metadata can (and should) be replaced::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    another_marmot = open('another_marmot.png', 'rb')
 | 
					    another_marmot = open('another_marmot.png', 'rb')
 | 
				
			||||||
    marmot.photo.replace(another_marmot, content_type='image/png')
 | 
					    marmot.photo.replace(another_marmot, content_type='image/png')  # Replaces the GridFS document
 | 
				
			||||||
 | 
					    marmot.save()                                                   # Replaces the GridFS reference contained in marmot instance
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1528,9 +1528,9 @@ class GridFSProxy(object):
 | 
				
			|||||||
        return '<%s: %s>' % (self.__class__.__name__, self.grid_id)
 | 
					        return '<%s: %s>' % (self.__class__.__name__, self.grid_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __str__(self):
 | 
					    def __str__(self):
 | 
				
			||||||
        name = getattr(
 | 
					        gridout = self.get()
 | 
				
			||||||
            self.get(), 'filename', self.grid_id) if self.get() else '(no file)'
 | 
					        filename = getattr(gridout, 'filename') if gridout else '<no file>'
 | 
				
			||||||
        return '<%s: %s>' % (self.__class__.__name__, name)
 | 
					        return '<%s: %s (%s)>' % (self.__class__.__name__, filename, self.grid_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __eq__(self, other):
 | 
					    def __eq__(self, other):
 | 
				
			||||||
        if isinstance(other, GridFSProxy):
 | 
					        if isinstance(other, GridFSProxy):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user