mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Created special PostgreSQL text indexes when unique is True
Refs #19441.
This commit is contained in:
		| @@ -42,7 +42,7 @@ class DatabaseCreation(BaseDatabaseCreation): | ||||
|  | ||||
|     def sql_indexes_for_field(self, model, f, style): | ||||
|         output = [] | ||||
|         if f.db_index: | ||||
|         if f.db_index or f.unique: | ||||
|             qn = self.connection.ops.quote_name | ||||
|             db_table = model._meta.db_table | ||||
|             tablespace = f.db_tablespace or model._meta.db_tablespace | ||||
|   | ||||
| @@ -272,6 +272,9 @@ field, a :exc:`django.db.IntegrityError` will be raised by the model's | ||||
| This option is valid on all field types except :class:`ManyToManyField` and | ||||
| :class:`FileField`. | ||||
|  | ||||
| Note that when ``unique`` is ``True``, you don't need to specify | ||||
| :attr:`~Field.db_index`, because ``unique`` implies the creation of an index. | ||||
|  | ||||
| ``unique_for_date`` | ||||
| ------------------- | ||||
|  | ||||
|   | ||||
| @@ -17,4 +17,4 @@ if connection.vendor == 'postgresql': | ||||
|     class IndexedArticle(models.Model): | ||||
|         headline = models.CharField(max_length=100, db_index=True) | ||||
|         body = models.TextField(db_index=True) | ||||
|         slug = models.CharField(max_length=40, unique=True, db_index=True) | ||||
|         slug = models.CharField(max_length=40, unique=True) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user