mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[2.1.x] Added test of filtering on BinaryField and corrected docs.
Backport of fb2964a410 from master.
			
			
This commit is contained in:
		| @@ -416,9 +416,8 @@ guaranteed to fit numbers from ``-9223372036854775808`` to | ||||
|  | ||||
| .. class:: BinaryField(max_length=None, **options) | ||||
|  | ||||
| A field to store raw binary data. It only supports ``bytes`` assignment. Be | ||||
| aware that this field has limited functionality. For example, it is not possible | ||||
| to filter a queryset on a ``BinaryField`` value. | ||||
| A field to store raw binary data. It can be assigned :class:`bytes` or a | ||||
| :class:`memoryview`. | ||||
|  | ||||
| By default, ``BinaryField`` sets :attr:`~Field.editable` to ``False``, in which | ||||
| case it can't be included in a :class:`~django.forms.ModelForm`. | ||||
|   | ||||
| @@ -34,3 +34,13 @@ class BinaryFieldTests(TestCase): | ||||
|         self.assertIs(field.editable, True) | ||||
|         field = models.BinaryField(editable=False) | ||||
|         self.assertIs(field.editable, False) | ||||
|  | ||||
|     def test_filter(self): | ||||
|         dm = DataModel.objects.create(data=self.binary_data) | ||||
|         DataModel.objects.create(data=b'\xef\xbb\xbf') | ||||
|         self.assertSequenceEqual(DataModel.objects.filter(data=self.binary_data), [dm]) | ||||
|  | ||||
|     def test_filter_memoryview(self): | ||||
|         dm = DataModel.objects.create(data=self.binary_data) | ||||
|         DataModel.objects.create(data=b'\xef\xbb\xbf') | ||||
|         self.assertSequenceEqual(DataModel.objects.filter(data=memoryview(self.binary_data)), [dm]) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user