create indexes
This commit is contained in:
parent
8c1cccb7a2
commit
a956868eaf
@ -6,7 +6,7 @@ from django.db import migrations
|
|||||||
from django_scopes import scopes_disabled
|
from django_scopes import scopes_disabled
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
from cookbook.managers import DICTIONARY
|
from cookbook.managers import DICTIONARY
|
||||||
from cookbook.models import Recipe, Step
|
from cookbook.models import Recipe, Step, Index
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -52,6 +52,34 @@ class Migration(migrations.Migration):
|
|||||||
model_name='step',
|
model_name='step',
|
||||||
index=GinIndex(fields=['search_vector'], name='cookbook_st_search__2ef7fa_gin'),
|
index=GinIndex(fields=['search_vector'], name='cookbook_st_search__2ef7fa_gin'),
|
||||||
),
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='cooklog',
|
||||||
|
index=Index(fields=['id', 'recipe', '-created_at', 'rating'], name='cookbook_co_id_37485a_idx'),
|
||||||
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='food',
|
||||||
|
index=Index(fields=['id', 'name'], name='cookbook_fo_id_22b733_idx'),
|
||||||
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='ingredient',
|
||||||
|
index=Index(fields=['id', 'food', 'unit'], name='cookbook_in_id_3368be_idx'),
|
||||||
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='keyword',
|
||||||
|
index=Index(fields=['id', 'name'], name='cookbook_ke_id_ebc03f_idx'),
|
||||||
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='recipe',
|
||||||
|
index=Index(fields=['id', 'name', 'description'], name='cookbook_re_id_e4c2d4_idx'),
|
||||||
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='recipebook',
|
||||||
|
index=Index(fields=['name', 'description'], name='cookbook_re_name_bbe446_idx'),
|
||||||
|
),
|
||||||
|
migrations.AddIndex(
|
||||||
|
model_name='viewlog',
|
||||||
|
index=Index(fields=['recipe', '-created_at'], name='cookbook_vi_recipe__5cd178_idx'),
|
||||||
|
),
|
||||||
migrations.RunPython(
|
migrations.RunPython(
|
||||||
set_default_search_vector
|
set_default_search_vector
|
||||||
),
|
),
|
||||||
|
@ -10,6 +10,7 @@ from django.contrib.postgres.indexes import GinIndex
|
|||||||
from django.contrib.postgres.search import SearchVectorField
|
from django.contrib.postgres.search import SearchVectorField
|
||||||
from django.core.validators import MinLengthValidator
|
from django.core.validators import MinLengthValidator
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.db.models import Index
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
from django_prometheus.models import ExportModelOperationsMixin
|
from django_prometheus.models import ExportModelOperationsMixin
|
||||||
@ -271,6 +272,7 @@ class Keyword(ExportModelOperationsMixin('keyword'), models.Model, PermissionMod
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = (('space', 'name'),)
|
unique_together = (('space', 'name'),)
|
||||||
|
indexes = (Index(fields=['id', 'name']), )
|
||||||
|
|
||||||
|
|
||||||
class Unit(ExportModelOperationsMixin('unit'), models.Model, PermissionModelMixin):
|
class Unit(ExportModelOperationsMixin('unit'), models.Model, PermissionModelMixin):
|
||||||
@ -302,6 +304,7 @@ class Food(ExportModelOperationsMixin('food'), models.Model, PermissionModelMixi
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = (('space', 'name'),)
|
unique_together = (('space', 'name'),)
|
||||||
|
indexes = (Index(fields=['id', 'name']), )
|
||||||
|
|
||||||
|
|
||||||
class Ingredient(ExportModelOperationsMixin('ingredient'), models.Model, PermissionModelMixin):
|
class Ingredient(ExportModelOperationsMixin('ingredient'), models.Model, PermissionModelMixin):
|
||||||
@ -327,6 +330,7 @@ class Ingredient(ExportModelOperationsMixin('ingredient'), models.Model, Permiss
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['order', 'pk']
|
ordering = ['order', 'pk']
|
||||||
|
indexes = (Index(fields=['id', 'food', 'unit']), )
|
||||||
|
|
||||||
|
|
||||||
class Step(ExportModelOperationsMixin('step'), models.Model, PermissionModelMixin):
|
class Step(ExportModelOperationsMixin('step'), models.Model, PermissionModelMixin):
|
||||||
@ -361,7 +365,7 @@ class Step(ExportModelOperationsMixin('step'), models.Model, PermissionModelMixi
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['order', 'pk']
|
ordering = ['order', 'pk']
|
||||||
indexes = (GinIndex(fields=["search_vector"]),)
|
indexes = (GinIndex(fields=["search_vector"]), )
|
||||||
|
|
||||||
|
|
||||||
class NutritionInformation(models.Model, PermissionModelMixin):
|
class NutritionInformation(models.Model, PermissionModelMixin):
|
||||||
@ -427,7 +431,7 @@ class Recipe(models.Model, PermissionModelMixin):
|
|||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
class Meta():
|
class Meta():
|
||||||
indexes = (GinIndex(fields=["name_search_vector", "desc_search_vector"]),)
|
indexes = (GinIndex(fields=["name_search_vector", "desc_search_vector"]), Index(fields=['id', 'name', 'description']), )
|
||||||
|
|
||||||
|
|
||||||
class Comment(ExportModelOperationsMixin('comment'), models.Model, PermissionModelMixin):
|
class Comment(ExportModelOperationsMixin('comment'), models.Model, PermissionModelMixin):
|
||||||
@ -477,6 +481,9 @@ class RecipeBook(ExportModelOperationsMixin('book'), models.Model, PermissionMod
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
class Meta():
|
||||||
|
indexes = (Index(fields=['name', 'description']), )
|
||||||
|
|
||||||
|
|
||||||
class RecipeBookEntry(ExportModelOperationsMixin('book_entry'), models.Model, PermissionModelMixin):
|
class RecipeBookEntry(ExportModelOperationsMixin('book_entry'), models.Model, PermissionModelMixin):
|
||||||
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
|
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
|
||||||
@ -672,6 +679,9 @@ class CookLog(ExportModelOperationsMixin('cook_log'), models.Model, PermissionMo
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.recipe.name
|
return self.recipe.name
|
||||||
|
|
||||||
|
class Meta():
|
||||||
|
indexes = (Index(fields=['id', 'recipe', '-created_at', 'rating']), )
|
||||||
|
|
||||||
|
|
||||||
class ViewLog(ExportModelOperationsMixin('view_log'), models.Model, PermissionModelMixin):
|
class ViewLog(ExportModelOperationsMixin('view_log'), models.Model, PermissionModelMixin):
|
||||||
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
|
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
|
||||||
@ -684,6 +694,9 @@ class ViewLog(ExportModelOperationsMixin('view_log'), models.Model, PermissionMo
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.recipe.name
|
return self.recipe.name
|
||||||
|
|
||||||
|
class Meta():
|
||||||
|
indexes = (Index(fields=['recipe', '-created_at']), )
|
||||||
|
|
||||||
|
|
||||||
class ImportLog(models.Model, PermissionModelMixin):
|
class ImportLog(models.Model, PermissionModelMixin):
|
||||||
type = models.CharField(max_length=32)
|
type = models.CharField(max_length=32)
|
||||||
|
Loading…
Reference in New Issue
Block a user