dj2: add explicit on_delete on all ForeignKey (#36895)

remove RemovedInDjango20Warning:
on_delete will be a required arg for ForeignKey in Django 2.0.
Set it to models.CASCADE on models and in existing migrations if you want to
maintain the current default behavior.
See https://docs.djangoproject.com/en/1.11/ref/models/
fields/#django.db.models.ForeignKey.on_delete
This commit is contained in:
Lauréline Guérin 2019-10-14 13:33:00 +02:00
parent 94d25e1cd5
commit 49830fc9c5
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
44 changed files with 79 additions and 77 deletions

View File

@ -30,7 +30,7 @@ class Migration(migrations.Migration):
('slot_duration', models.DurationField(default=datetime.timedelta(0, 1800), help_text='Format is hours:minutes:seconds', verbose_name='Slot duration')),
('minimal_booking_duration', models.DurationField(default=datetime.timedelta(0, 3600), help_text='Format is hours:minutes:seconds', verbose_name='Minimal booking duration')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Booking Calendar',

View File

@ -27,7 +27,7 @@ class Migration(migrations.Migration):
('restricted_to_unlogged', models.BooleanField(default=False, verbose_name='Restrict to unlogged users')),
('last_update_timestamp', models.DateTimeField(auto_now=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Dashboard',
@ -39,9 +39,9 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('cell_pk', models.PositiveIntegerField()),
('order', models.PositiveIntegerField()),
('cell_type', models.ForeignKey(to='contenttypes.ContentType')),
('dashboard', models.ForeignKey(to='dashboard.DashboardCell')),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
('cell_type', models.ForeignKey(to='contenttypes.ContentType', on_delete=models.CASCADE)),
('dashboard', models.ForeignKey(to='dashboard.DashboardCell', on_delete=models.CASCADE)),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
],
options={
'ordering': ('order',),

View File

@ -50,11 +50,11 @@ class DashboardCell(CellBase):
class Tile(models.Model):
dashboard = models.ForeignKey(DashboardCell)
cell_type = models.ForeignKey(ContentType)
dashboard = models.ForeignKey(DashboardCell, on_delete=models.CASCADE)
cell_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
cell_pk = models.PositiveIntegerField()
cell = fields.GenericForeignKey('cell_type', 'cell_pk')
user = models.ForeignKey(settings.AUTH_USER_MODEL)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
order = models.IntegerField()
class Meta:

View File

@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('data_source', models.CharField(max_length=150, null=True, verbose_name='Data Source', blank=True)),
('max_value', models.PositiveIntegerField(null=True, verbose_name='Max Value', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Gauge',

View File

@ -30,7 +30,7 @@ class Migration(migrations.Migration):
('drilldown2', models.CharField(max_length=64, null=True, verbose_name='Drilldown 2', blank=True)),
('other_parameters', models.TextField(null=True, verbose_name='Other parameters', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Cubes Barchart',
@ -54,7 +54,7 @@ class Migration(migrations.Migration):
('drilldown2', models.CharField(max_length=64, null=True, verbose_name='Drilldown 2', blank=True)),
('other_parameters', models.TextField(null=True, verbose_name='Other parameters', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Cubes Table',

View File

@ -25,7 +25,7 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=150, null=True, verbose_name='Title', blank=True)),
('url', models.URLField(max_length=150, null=True, verbose_name='URL', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Chart',

View File

@ -22,7 +22,7 @@ class Migration(migrations.Migration):
('slug', models.SlugField(verbose_name='Slug', blank=True)),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Family Information Cell',

View File

@ -22,7 +22,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('restricted_to_unlogged', models.BooleanField(default=False, verbose_name='Restrict to unlogged users')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Recent Documents',

View File

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
('restricted_to_unlogged', models.BooleanField(default=False, verbose_name='Restrict to unlogged users')),
('last_update_timestamp', models.DateTimeField(auto_now=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Gallery',
@ -37,7 +37,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('image', models.ImageField(upload_to=b'uploads/gallery/%Y/%m/', verbose_name='Image')),
('order', models.PositiveIntegerField()),
('gallery', models.ForeignKey(verbose_name='Gallery', to='gallery.GalleryCell')),
('gallery', models.ForeignKey(verbose_name='Gallery', to='gallery.GalleryCell', on_delete=models.CASCADE)),
],
options={
'ordering': ['order'],

View File

@ -50,7 +50,7 @@ class GalleryCell(CellBase):
class Image(models.Model):
gallery = models.ForeignKey(GalleryCell, verbose_name=_('Gallery'))
gallery = models.ForeignKey(GalleryCell, on_delete=models.CASCADE, verbose_name=_('Gallery'))
image = models.ImageField(_('Image'),
upload_to='uploads/gallery/%Y/%m/')
order = models.PositiveIntegerField()

View File

@ -40,7 +40,7 @@ class Migration(migrations.Migration):
('slug', models.SlugField(verbose_name='Slug', blank=True)),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Basket',
@ -65,13 +65,13 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='basketitem',
name='regie',
field=models.ForeignKey(to='lingo.Regie'),
field=models.ForeignKey(to='lingo.Regie', on_delete=models.CASCADE),
preserve_default=True,
),
migrations.AddField(
model_name='basketitem',
name='user',
field=models.ForeignKey(to=settings.AUTH_USER_MODEL),
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE),
preserve_default=True,
),
]

View File

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
('slug', models.SlugField(verbose_name='Slug', blank=True)),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Recent Transactions',
@ -34,7 +34,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='transaction',
name='user',
field=models.ForeignKey(default=0, to=settings.AUTH_USER_MODEL),
field=models.ForeignKey(default=0, to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE),
preserve_default=False,
),
]

View File

@ -22,7 +22,7 @@ class Migration(migrations.Migration):
('slug', models.SlugField(verbose_name='Slug', blank=True)),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Basket Link',

View File

@ -25,7 +25,7 @@ class Migration(migrations.Migration):
('regie', models.CharField(max_length=50, verbose_name='Regie', blank=True)),
('title', ckeditor.fields.RichTextField(verbose_name='Title', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Active Items Cell',
@ -43,7 +43,7 @@ class Migration(migrations.Migration):
('regie', models.CharField(max_length=50, verbose_name='Regie', blank=True)),
('title', ckeditor.fields.RichTextField(verbose_name='Title', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Items History Cell',

View File

@ -15,7 +15,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='transaction',
name='regie',
field=models.ForeignKey(to='lingo.Regie', null=True),
field=models.ForeignKey(to='lingo.Regie', null=True, on_delete=models.CASCADE),
preserve_default=True,
),
migrations.AddField(
@ -27,7 +27,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='transaction',
name='user',
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True),
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE),
preserve_default=True,
),
]

View File

@ -20,7 +20,7 @@ class Migration(migrations.Migration):
('amount', models.DecimalField(max_digits=8, decimal_places=2)),
('creation_date', models.DateTimeField(auto_now_add=True)),
('bank_result', jsonfield.fields.JSONField(default=dict, blank=True)),
('transaction', models.ForeignKey(to='lingo.Transaction')),
('transaction', models.ForeignKey(to='lingo.Transaction', on_delete=models.CASCADE)),
],
),
]

View File

@ -27,7 +27,7 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=200, verbose_name='Title', blank=True)),
('text', ckeditor.fields.RichTextField(null=True, verbose_name='Text', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Self declared invoice payment',

View File

@ -15,6 +15,6 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='basketitem',
name='user',
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True),
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE),
),
]

View File

@ -31,7 +31,7 @@ class Migration(migrations.Migration):
('control_protocol', models.CharField(default=b'pesv2', max_length=8, verbose_name='Control protocol', choices=[(b'pesv2', 'Indigo/PES v2'), (b'rolmre', 'ROLMRE')])),
('test_mode', models.BooleanField(default=False, verbose_name='Test mode')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'TIPI Payment Form',

View File

@ -328,8 +328,8 @@ class Regie(models.Model):
class BasketItem(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True)
regie = models.ForeignKey(Regie)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
regie = models.ForeignKey(Regie, on_delete=models.CASCADE)
subject = models.CharField(verbose_name=_('Subject'), max_length=200)
source_url = models.URLField(_('Source URL'), blank=True)
details = models.TextField(verbose_name=_('Details'), blank=True)
@ -427,7 +427,7 @@ class RemoteItem(object):
class Transaction(models.Model):
regie = models.ForeignKey(Regie, null=True)
regie = models.ForeignKey(Regie, on_delete=models.CASCADE, null=True)
items = models.ManyToManyField(BasketItem, blank=True)
remote_items = models.CharField(max_length=512)
to_be_paid_remote_items = models.CharField(max_length=512, null=True)
@ -436,7 +436,7 @@ class Transaction(models.Model):
bank_data = JSONField(blank=True)
order_id = models.CharField(max_length=200)
bank_transaction_id = models.CharField(max_length=200, null=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
status = models.IntegerField(null=True)
amount = models.DecimalField(default=0, max_digits=7, decimal_places=2)
@ -504,7 +504,7 @@ class TransactionOperation(models.Model):
('validation', _('Validation')),
('cancellation', _('Cancellation')),
]
transaction = models.ForeignKey(Transaction)
transaction = models.ForeignKey(Transaction, on_delete=models.CASCADE)
kind = models.CharField(max_length=65, choices=OPERATIONS)
amount = models.DecimalField(decimal_places=2, max_digits=8)
creation_date = models.DateTimeField(auto_now_add=True)

View File

@ -30,7 +30,7 @@ class Migration(migrations.Migration):
('max_zoom', models.CharField(default=19, max_length=2, verbose_name='Maximal zoom level', choices=[(b'0', 'Whole world'), (b'9', 'Wide area'), (b'11', 'Area'), (b'13', 'Town'), (b'16', 'Small road'), (b'18', 'Neighbourhood'), (b'19', 'Ant')])),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('layers', models.ManyToManyField(to='maps.MapLayer', verbose_name='Layers', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Map',

View File

@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('resources_restrictions', models.CharField(help_text='list of resources(themes) separated by commas', max_length=1024, verbose_name='resources restrictions', blank=True)),
('transports_restrictions', models.CharField(help_text='list of transports separated by commas', max_length=1024, verbose_name='transports restrictions', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Newsletters',

View File

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
('end_timestamp', models.DateTimeField(verbose_name='End date and time')),
('acked', models.BooleanField(default=False, verbose_name='Acked')),
('external_id', models.SlugField(null=True, verbose_name='External identifier')),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Notification',
@ -41,7 +41,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('restricted_to_unlogged', models.BooleanField(default=False, verbose_name='Restrict to unlogged users')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'User Notifications',

View File

@ -104,8 +104,9 @@ class PwaSettings(models.Model):
class PwaNavigationEntry(models.Model):
label = models.CharField(verbose_name=_('Label'), max_length=150, blank=True)
url = models.CharField(verbose_name=_('External URL'), max_length=200, blank=True)
link_page = models.ForeignKey('data.Page', blank=True,
null=True, verbose_name=_('Internal link'))
link_page = models.ForeignKey(
'data.Page', on_delete=models.CASCADE, blank=True,
null=True, verbose_name=_('Internal link'))
icon = models.FileField(_('Icon'), upload_to='pwa', blank=True, null=True)
extra_css_class = models.CharField(_('Extra classes for CSS styling'), max_length=100, blank=True)
order = models.PositiveIntegerField()

View File

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
('last_update_timestamp', models.DateTimeField(auto_now=True)),
('_search_service', models.CharField(max_length=64, verbose_name='Search Service')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Search',

View File

@ -22,7 +22,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('restricted_to_unlogged', models.BooleanField(default=False, verbose_name='Restrict to unlogged users')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'User Search',

View File

@ -25,8 +25,8 @@ class Migration(migrations.Migration):
('cached_description', models.TextField(verbose_name='Description', blank=True)),
('cached_url', models.URLField(verbose_name='Cached URL')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('link_page', models.ForeignKey(related_name='link', to='data.Page', null=True)),
('page', models.ForeignKey(to='data.Page')),
('link_page', models.ForeignKey(related_name='link', to='data.Page', null=True, on_delete=models.CASCADE)),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Category Link',
@ -42,7 +42,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('wcs_site', models.CharField(max_length=50, verbose_name='Site')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Current Drafts',
@ -58,7 +58,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('wcs_site', models.CharField(max_length=50, verbose_name='Site')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Current Forms',
@ -76,7 +76,7 @@ class Migration(migrations.Migration):
('cached_title', models.CharField(max_length=50, verbose_name='Title')),
('cached_url', models.URLField(verbose_name='URL')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Form Link',
@ -97,7 +97,7 @@ class Migration(migrations.Migration):
('ordering', models.CharField(default=b'', max_length=20, verbose_name='Order', blank=True, choices=[(b'', 'Default'), (b'alpha', 'Alphabetical'), (b'popularity', 'Popularity')])),
('limit', models.PositiveSmallIntegerField(null=True, verbose_name='Limit', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Forms of Category',

View File

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('wcs_site', models.CharField(max_length=50, verbose_name='Site', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Form Categories',

View File

@ -23,7 +23,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('wcs_site', models.CharField(max_length=50, verbose_name='Site', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'abstract': False,

View File

@ -53,7 +53,7 @@ class Migration(migrations.Migration):
('redirect_url', models.CharField(max_length=100, verbose_name='Redirect URL', blank=True)),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('parent', models.ForeignKey(blank=True, to='data.Page', null=True)),
('parent', models.ForeignKey(blank=True, to='data.Page', null=True, on_delete=models.CASCADE)),
],
options={
'ordering': ['order'],
@ -69,7 +69,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('text', ckeditor.fields.RichTextField(null=True, verbose_name='Text')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Text',
@ -84,7 +84,7 @@ class Migration(migrations.Migration):
('order', models.PositiveIntegerField()),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Unlock Marker',
@ -94,13 +94,13 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='fortunecell',
name='page',
field=models.ForeignKey(to='data.Page'),
field=models.ForeignKey(to='data.Page', on_delete=models.CASCADE),
preserve_default=True,
),
migrations.AddField(
model_name='blurpcell',
name='page',
field=models.ForeignKey(to='data.Page'),
field=models.ForeignKey(to='data.Page', on_delete=models.CASCADE),
preserve_default=True,
),
]

View File

@ -21,7 +21,7 @@ class Migration(migrations.Migration):
('slug', models.SlugField(verbose_name='Slug', blank=True)),
('public', models.BooleanField(default=True, verbose_name='Public')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Menu',

View File

@ -23,7 +23,7 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=150, verbose_name='Title')),
('url', models.URLField(verbose_name='URL')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Link',

View File

@ -20,7 +20,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='linkcell',
name='link_page',
field=models.ForeignKey(related_name='link_cell', to='data.Page', null=True),
field=models.ForeignKey(related_name='link_cell', to='data.Page', null=True, on_delete=models.CASCADE),
preserve_default=True,
),
migrations.AlterField(

View File

@ -14,7 +14,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='linkcell',
name='link_page',
field=models.ForeignKey(related_name='link_cell', blank=True, to='data.Page', null=True),
field=models.ForeignKey(related_name='link_cell', blank=True, to='data.Page', null=True, on_delete=models.CASCADE),
preserve_default=True,
),
]

View File

@ -14,7 +14,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='linkcell',
name='link_page',
field=models.ForeignKey(related_name='link_cell', verbose_name='Internal link', blank=True, to='data.Page', null=True),
field=models.ForeignKey(related_name='link_cell', verbose_name='Internal link', blank=True, to='data.Page', null=True, on_delete=models.CASCADE),
preserve_default=True,
),
]

View File

@ -22,7 +22,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('url', models.URLField(verbose_name='URL', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'RSS/Atom Feed',

View File

@ -27,7 +27,7 @@ class Migration(migrations.Migration):
('empty_label', models.CharField(default=b'---', max_length=64, verbose_name='Empty label')),
('parameters', jsonfield.fields.JSONField(default=dict, help_text='Must be a JSON list, containing dictionaries with 3 keys: name, value and optionnally roles; name must be a string, value must be a dictionary and roles must a list of role names. Role names limit the visibility of the choice.', verbose_name='Parameters', blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Parameters',

View File

@ -14,6 +14,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='menucell',
name='root_page',
field=models.ForeignKey(related_name='root_page', verbose_name='Root Page', blank=True, to='data.Page', null=True),
field=models.ForeignKey(related_name='root_page', verbose_name='Root Page', blank=True, to='data.Page', null=True, on_delete=models.CASCADE),
),
]

View File

@ -21,7 +21,7 @@ class Migration(migrations.Migration):
('public', models.BooleanField(default=True, verbose_name='Public')),
('restricted_to_unlogged', models.BooleanField(default=False, verbose_name='Restrict to unlogged users')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Same as parent',

View File

@ -27,7 +27,7 @@ class Migration(migrations.Migration):
('template_string', models.TextField(null=True, verbose_name='Display Template', blank=True, validators=[combo.data.models.django_template_validator])),
('cache_duration', models.PositiveIntegerField(default=60, verbose_name='Cache duration')),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'JSON Prototype',

View File

@ -27,7 +27,7 @@ class Migration(migrations.Migration):
('key', models.CharField(max_length=50)),
('parameters', jsonfield.fields.JSONField(default=dict, blank=True)),
('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
('page', models.ForeignKey(to='data.Page')),
('page', models.ForeignKey(to='data.Page', on_delete=models.CASCADE)),
],
options={
'abstract': False,

View File

@ -131,7 +131,7 @@ class Page(models.Model):
))
description = models.TextField(_('Description'), blank=True)
template_name = models.CharField(_('Template'), max_length=50)
parent = models.ForeignKey('self', null=True, blank=True)
parent = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)
order = models.PositiveIntegerField()
exclude_from_navigation = models.BooleanField(_('Exclude from navigation'), default=False)
redirect_url = models.CharField(_('Redirect URL'), max_length=200, blank=True)
@ -440,7 +440,7 @@ class Page(models.Model):
class PageSnapshot(models.Model):
page = models.ForeignKey(Page, on_delete=models.SET_NULL, null=True)
timestamp = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
comment = models.TextField(blank=True, null=True)
serialization = JSONField(blank=True)
@ -477,7 +477,7 @@ class PageSnapshot(models.Model):
class Redirect(models.Model):
old_url = models.CharField(max_length=512)
page = models.ForeignKey(Page)
page = models.ForeignKey(Page, on_delete=models.CASCADE)
creation_timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
@ -491,7 +491,7 @@ class CellMeta(MediaDefiningClass, ModelBase):
@python_2_unicode_compatible
class CellBase(six.with_metaclass(CellMeta, models.Model)):
page = models.ForeignKey(Page)
page = models.ForeignKey(Page, on_delete=models.CASCADE)
placeholder = models.CharField(max_length=20)
order = models.PositiveIntegerField()
slug = models.SlugField(_('Slug'), blank=True)
@ -830,7 +830,7 @@ class MenuCell(CellBase):
initial_level = models.IntegerField(_('Initial Level'),
choices=[(-1, _('Same as page'))] +
[(i, i) for i in range(1, 3)], default=-1, null=False)
root_page = models.ForeignKey(Page, related_name='root_page',
root_page = models.ForeignKey(Page, on_delete=models.CASCADE, related_name='root_page',
null=True, blank=True, verbose_name=_('Root Page'))
template_name = 'combo/menu-cell.html'
@ -858,8 +858,9 @@ class MenuCell(CellBase):
class LinkCell(CellBase):
title = models.CharField(_('Title'), max_length=150, blank=True)
url = models.CharField(_('URL'), max_length=200, blank=True)
link_page = models.ForeignKey('data.Page', related_name='link_cell', blank=True,
null=True, verbose_name=_('Internal link'))
link_page = models.ForeignKey(
'data.Page', on_delete=models.CASCADE, related_name='link_cell', blank=True,
null=True, verbose_name=_('Internal link'))
anchor = models.CharField(_('Anchor'), max_length=150, blank=True)
template_name = 'combo/link-cell.html'

View File

@ -17,7 +17,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('initial_login_view_timestamp', models.DateTimeField(null=True)),
('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)),
('user', models.OneToOneField(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
],
),
]

View File

@ -27,7 +27,7 @@ from combo.data.library import register_cell_class
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
initial_login_view_timestamp = models.DateTimeField(null=True)