Coverage for src/django_audit_log/migrations/0004_alter_accesslog_user_agent_loguseragent_and_more.py: 100%
5 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 11:43 +0700
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 11:43 +0700
1# Generated by Django 5.1.7 on 2025-04-02 07:39
3import django.db.models.deletion
4from django.db import migrations, models
7class Migration(migrations.Migration):
9 dependencies = [
10 ('django_audit_log', '0003_alter_accesslog_data_alter_accesslog_ip_and_more'),
11 ]
13 operations = [
14 migrations.AlterField(
15 model_name='accesslog',
16 name='user_agent',
17 field=models.TextField(blank=True, editable=False, help_text='User Agent string (deprecated)', null=True),
18 ),
19 migrations.CreateModel(
20 name='LogUserAgent',
21 fields=[
22 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
23 ('user_agent', models.TextField(editable=False, unique=True)),
24 ('browser', models.CharField(blank=True, editable=False, max_length=50, null=True)),
25 ('browser_version', models.CharField(blank=True, editable=False, max_length=20, null=True)),
26 ('operating_system', models.CharField(blank=True, editable=False, max_length=50, null=True)),
27 ('device_type', models.CharField(blank=True, editable=False, max_length=20, null=True)),
28 ('is_bot', models.BooleanField(default=False, editable=False)),
29 ],
30 options={
31 'verbose_name': 'Log User Agent',
32 'verbose_name_plural': 'Log User Agents',
33 'indexes': [models.Index(fields=['browser'], name='django_audi_browser_65f0aa_idx'), models.Index(fields=['operating_system'], name='django_audi_operati_c5de1a_idx'), models.Index(fields=['device_type'], name='django_audi_device__424a4f_idx'), models.Index(fields=['is_bot'], name='django_audi_is_bot_967733_idx')],
34 },
35 ),
36 migrations.AddField(
37 model_name='accesslog',
38 name='user_agent_normalized',
39 field=models.ForeignKey(blank=True, editable=False, help_text='Normalized user agent information', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='access_logs', to='django_audit_log.loguseragent'),
40 ),
41 ]