Compare commits
	
		
			1 Commits
		
	
	
		
			v0.13.0
			...
			cant-save-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 361a6fc7a8 | 
| @@ -313,6 +313,9 @@ class Document(BaseDocument): | ||||
|         .. versionchanged:: 0.10.7 | ||||
|             Add signal_kwargs argument | ||||
|         """ | ||||
|         if self._meta.get('abstract'): | ||||
|             raise InvalidDocumentError('Cannot save an abstract document.') | ||||
|  | ||||
|         signal_kwargs = signal_kwargs or {} | ||||
|         signals.pre_save.send(self.__class__, document=self, **signal_kwargs) | ||||
|  | ||||
| @@ -828,7 +831,6 @@ class Document(BaseDocument): | ||||
|         """ Lists all of the indexes that should be created for given | ||||
|         collection. It includes all the indexes from super- and sub-classes. | ||||
|         """ | ||||
|  | ||||
|         if cls._meta.get('abstract'): | ||||
|             return [] | ||||
|  | ||||
|   | ||||
| @@ -435,6 +435,15 @@ class InstanceTest(unittest.TestCase): | ||||
|  | ||||
|         person.to_dbref() | ||||
|  | ||||
|     def test_save_abstract_document(self): | ||||
|         """Saving an abstract document should fail.""" | ||||
|         class Doc(Document): | ||||
|             name = StringField() | ||||
|             meta = {'abstract': True} | ||||
|  | ||||
|         with self.assertRaises(InvalidDocumentError): | ||||
|             Doc(name='aaa').save() | ||||
|  | ||||
|     def test_reload(self): | ||||
|         """Ensure that attributes may be reloaded. | ||||
|         """ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user