Require on_delete arg for ForeignKey/OneToOneField
[mygpo.git] / mygpo / usersettings / migrations / 0001_initial.py
blob60a1d1d466e643c27d2a53aed188d7b14656b89f
1 # -*- coding: utf-8 -*-
4 from django.db import models, migrations
5 from django.conf import settings
8 class Migration(migrations.Migration):
10 dependencies = [
11 migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 ('contenttypes', '0001_initial'),
15 operations = [
16 migrations.CreateModel(
17 name='UserSettings',
18 fields=[
19 ('id', models.AutoField(
20 verbose_name='ID',
21 serialize=False,
22 auto_created=True,
23 primary_key=True)),
24 ('settings', models.TextField(default='{}')),
25 ('object_id', models.UUIDField(
26 max_length=32,
27 null=True,
28 blank=True)),
29 ('content_type', models.ForeignKey(
30 blank=True,
31 to='contenttypes.ContentType',
32 null=True,
33 on_delete=models.PROTECT,
34 )),
35 ('user', models.ForeignKey(
36 to=settings.AUTH_USER_MODEL,
37 on_delete=models.CASCADE,
38 )),
40 options={
42 bases=(models.Model,),
44 migrations.AlterUniqueTogether(
45 name='usersettings',
46 unique_together=set([('user', 'content_type', 'object_id')]),
48 # PostgreSQL does not consider null values for unique constraints;
49 # UserSettings for Users have no content_object; the following ensures
50 # there can only be one such entry per user
51 migrations.RunSQL(
52 [('CREATE UNIQUE INDEX usersettings_unique_null '
53 'ON usersettings_usersettings (user_id) '
54 'WHERE content_type_id IS NULL;', None)],
55 [('DROP INDEX IF EXISTS usersettings_unique_null;', None)],