Added some database indices

This commit is contained in:
Raphael Michel
2016-08-03 00:02:18 +02:00
parent 565c74c980
commit d976d8d26d
4 changed files with 62 additions and 6 deletions

View File

@@ -0,0 +1,52 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2016-08-02 22:02
from __future__ import unicode_literals
from django.db import migrations, models
import pretix.base.models.orders
import pretix.base.models.vouchers
class Migration(migrations.Migration):
dependencies = [
('pretixbase', '0024_auto_20160728_1725'),
]
operations = [
migrations.AlterField(
model_name='logentry',
name='datetime',
field=models.DateTimeField(auto_now_add=True, db_index=True),
),
migrations.AlterField(
model_name='logentry',
name='object_id',
field=models.PositiveIntegerField(db_index=True),
),
migrations.AlterField(
model_name='order',
name='code',
field=models.CharField(db_index=True, max_length=16, verbose_name='Order code'),
),
migrations.AlterField(
model_name='order',
name='status',
field=models.CharField(choices=[('n', 'pending'), ('p', 'paid'), ('e', 'expired'), ('c', 'cancelled'), ('r', 'refunded')], db_index=True, max_length=3, verbose_name='Status'),
),
migrations.AlterField(
model_name='orderposition',
name='secret',
field=models.CharField(db_index=True, default=pretix.base.models.orders.generate_position_secret, max_length=64),
),
migrations.AlterField(
model_name='voucher',
name='code',
field=models.CharField(db_index=True, default=pretix.base.models.vouchers.generate_code, max_length=255, verbose_name='Voucher code'),
),
migrations.AlterField(
model_name='voucher',
name='tag',
field=models.CharField(blank=True, db_index=True, help_text='You can use this field to group multiple vouchers together. If you enter the same value for multiple vouchers, you can get statistics on how many of them have been redeemed etc.', max_length=255, verbose_name='Tag'),
),
]

View File

@@ -23,9 +23,9 @@ class LogEntry(models.Model):
:type data: str
"""
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
object_id = models.PositiveIntegerField(db_index=True)
content_object = GenericForeignKey('content_type', 'object_id')
datetime = models.DateTimeField(auto_now_add=True)
datetime = models.DateTimeField(auto_now_add=True, db_index=True)
user = models.ForeignKey('User', null=True, blank=True, on_delete=models.PROTECT)
event = models.ForeignKey('Event', null=True, blank=True, on_delete=models.CASCADE)
action_type = models.CharField(max_length=255)

View File

@@ -90,12 +90,14 @@ class Order(LoggedModel):
code = models.CharField(
max_length=16,
verbose_name=_("Order code")
verbose_name=_("Order code"),
db_index=True
)
status = models.CharField(
max_length=3,
choices=STATUS_CHOICE,
verbose_name=_("Status")
verbose_name=_("Status"),
db_index=True
)
event = models.ForeignKey(
Event,
@@ -426,7 +428,7 @@ class OrderPosition(AbstractPosition):
max_digits=10, decimal_places=2,
verbose_name=_('Tax value')
)
secret = models.CharField(max_length=64, default=generate_position_secret)
secret = models.CharField(max_length=64, default=generate_position_secret, db_index=True)
class Meta:
verbose_name = _("Order position")

View File

@@ -56,7 +56,8 @@ class Voucher(LoggedModel):
)
code = models.CharField(
verbose_name=_("Voucher code"),
max_length=255, default=generate_code
max_length=255, default=generate_code,
db_index=True,
)
redeemed = models.BooleanField(
verbose_name=_("Redeemed"),
@@ -114,6 +115,7 @@ class Voucher(LoggedModel):
max_length=255,
verbose_name=_("Tag"),
blank=True,
db_index=True,
help_text=_("You can use this field to group multiple vouchers together. If you enter the same value for "
"multiple vouchers, you can get statistics on how many of them have been redeemed etc.")
)