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