41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from django.db import migrations, models
|
|
from django.db.models import Max
|
|
|
|
|
|
def _dedupe_withdrawal_daily(apps, schema_editor):
|
|
Model = apps.get_model('backend', 'WithdrawalDailyStats')
|
|
for row in Model.objects.values('club_id', 'Date', 'WithdrawalType').annotate(max_id=Max('id')):
|
|
Model.objects.filter(
|
|
club_id=row['club_id'],
|
|
Date=row['Date'],
|
|
WithdrawalType=row['WithdrawalType'],
|
|
).exclude(id=row['max_id']).delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('backend', '0002_rename_abnormal_us_create__ee16da_idx_abnormal_us_createt_38f96c_idx'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name='withdrawaldailystats',
|
|
name='club_id',
|
|
field=models.CharField(db_index=True, default='xq', max_length=16, verbose_name='俱乐部ID'),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name='withdrawaldailystats',
|
|
unique_together=set(),
|
|
),
|
|
migrations.RunPython(_dedupe_withdrawal_daily, migrations.RunPython.noop),
|
|
migrations.AlterUniqueTogether(
|
|
name='withdrawaldailystats',
|
|
unique_together={('club_id', 'Date', 'WithdrawalType')},
|
|
),
|
|
migrations.AddIndex(
|
|
model_name='withdrawaldailystats',
|
|
index=models.Index(fields=['club_id', 'Date', 'WithdrawalType'], name='tixian_ri_club_date_type_idx'),
|
|
),
|
|
]
|