Created special PostgreSQL text indexes when unique is True
Refs #19441.
This commit is contained in:
parent
a890469d3b
commit
c698c55966
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue