Store service directly in Hit
This commit is contained in:
38
shynet/analytics/migrations/0006_hit_service.py
Normal file
38
shynet/analytics/migrations/0006_hit_service.py
Normal 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'),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user