Store service directly in Hit

This commit is contained in:
R. Miles McCain
2021-03-28 20:54:19 +00:00
parent f2e875d03d
commit 874aad87a8
5 changed files with 63 additions and 2 deletions

View File

@@ -0,0 +1,38 @@
# Generated by Django 3.1.7 on 2021-03-28 19:36
from ..models import Hit, Session
from django.db import migrations, models
import django.db.models.deletion
from django.db.models import Subquery, OuterRef
def add_service_to_hits(_a, _b):
service = Session.objects.filter(
pk=OuterRef('session')
).values_list(
'service'
)[:1]
Hit.objects.update(
service=Subquery(service)
)
class Migration(migrations.Migration):
dependencies = [
('core', '0008_auto_20200628_1403'),
('analytics', '0005_auto_20210328_1518'),
]
operations = [
migrations.AddField(
model_name='hit',
name='service',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.service'),
),
migrations.RunPython(add_service_to_hits, lambda: ()),
migrations.AlterField(
model_name='hit',
name='service',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.service'),
),
]