@@ -1600,6 +1600,7 @@ class AuctionTOS(models.Model):
1600
1600
default = False ,
1601
1601
verbose_name = "Grant admin permissions to help run this auction" ,
1602
1602
blank = True ,
1603
+ db_index = True ,
1603
1604
)
1604
1605
# yes we are using a string to store a number
1605
1606
# this is actually important because some day, someone will ask to make the bidder numbers have characters like "1-234" or people's names
@@ -2109,10 +2110,10 @@ class Lot(models.Model):
2109
2110
# below is the database pk
2110
2111
lot_number = models .AutoField (primary_key = True )
2111
2112
# below is an automatically assigned int for use in auctions
2112
- lot_number_int = models .IntegerField (null = True , blank = True , verbose_name = "Lot number" )
2113
+ lot_number_int = models .IntegerField (null = True , blank = True , verbose_name = "Lot number" , db_index = True )
2113
2114
# below is an override of the other lot numbers, it was the default for use in auctions until 2025, but now lot_number_int is used instead
2114
2115
# see https://github.com/iragm/fishauctions/issues/269
2115
- custom_lot_number = models .CharField (max_length = 9 , blank = True , null = True , verbose_name = "Lot number" )
2116
+ custom_lot_number = models .CharField (max_length = 9 , blank = True , null = True , verbose_name = "Lot number" , db_index = True )
2116
2117
custom_lot_number .help_text = "You can override the default lot number with this"
2117
2118
lot_name = models .CharField (max_length = 40 )
2118
2119
slug = AutoSlugField (populate_from = "lot_name" , unique = False )
@@ -2188,8 +2189,8 @@ class Lot(models.Model):
2188
2189
on_delete = models .SET_NULL ,
2189
2190
related_name = "auctiontos_winner" ,
2190
2191
)
2191
- active = models .BooleanField (default = True )
2192
- winning_price = models .PositiveIntegerField (null = True , blank = True )
2192
+ active = models .BooleanField (default = True , db_index = True )
2193
+ winning_price = models .PositiveIntegerField (null = True , blank = True , db_index = True )
2193
2194
refunded = models .BooleanField (default = False )
2194
2195
refunded .help_text = "Don't charge the winner or pay the seller for this lot."
2195
2196
banned = models .BooleanField (default = False , verbose_name = "Removed" , blank = True )
@@ -2243,8 +2244,8 @@ class Lot(models.Model):
2243
2244
buy_now_used = models .BooleanField (default = False )
2244
2245
2245
2246
# Location, populated from userdata. This is needed to prevent users from changing their address after posting a lot
2246
- latitude = models .FloatField (blank = True , null = True )
2247
- longitude = models .FloatField (blank = True , null = True )
2247
+ latitude = models .FloatField (blank = True , null = True , db_index = True )
2248
+ longitude = models .FloatField (blank = True , null = True , db_index = True )
2248
2249
address = models .CharField (max_length = 500 , blank = True , null = True )
2249
2250
2250
2251
# Payment and shipping options, populated from last submitted lot
@@ -3701,7 +3702,7 @@ class PageView(models.Model):
3701
3702
lot_number = models .ForeignKey (Lot , null = True , blank = True , on_delete = models .CASCADE )
3702
3703
lot_number .help_text = "Only filled out when a user views a specific lot's page"
3703
3704
date_start = models .DateTimeField (auto_now_add = True , db_index = True )
3704
- date_end = models .DateTimeField (null = True , blank = True , default = timezone .now )
3705
+ date_end = models .DateTimeField (null = True , blank = True , default = timezone .now , db_index = True )
3705
3706
total_time = models .PositiveIntegerField (default = 0 )
3706
3707
total_time .help_text = "The total time in seconds the user has spent on the lot page"
3707
3708
source = models .CharField (max_length = 200 , blank = True , null = True , default = "" )
@@ -3712,8 +3713,8 @@ class PageView(models.Model):
3712
3713
session_id = models .CharField (max_length = 600 , blank = True , null = True , db_index = True )
3713
3714
notification_sent = models .BooleanField (default = False )
3714
3715
duplicate_check_completed = models .BooleanField (default = False )
3715
- latitude = models .FloatField (default = 0 )
3716
- longitude = models .FloatField (default = 0 )
3716
+ latitude = models .FloatField (default = 0 , db_index = True )
3717
+ longitude = models .FloatField (default = 0 , db_index = True )
3717
3718
ip_address = models .CharField (max_length = 100 , blank = True , null = True )
3718
3719
user_agent = models .CharField (max_length = 200 , blank = True , null = True )
3719
3720
platform = models .CharField (max_length = 200 , default = "" , blank = True , null = True )
0 commit comments