mirror of
https://github.com/django/django.git
synced 2025-08-02 10:02:41 +00:00
Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField
This commit is contained in:
parent
87d55081ea
commit
c2e70f0265
176 changed files with 1525 additions and 1008 deletions
|
@ -39,8 +39,8 @@ class Article(models.Model):
|
|||
title = models.CharField(max_length=100)
|
||||
content = models.TextField()
|
||||
date = models.DateTimeField()
|
||||
section = models.ForeignKey(Section, null=True, blank=True)
|
||||
sub_section = models.ForeignKey(Section, null=True, blank=True, on_delete=models.SET_NULL, related_name='+')
|
||||
section = models.ForeignKey(Section, models.CASCADE, null=True, blank=True)
|
||||
sub_section = models.ForeignKey(Section, models.SET_NULL, null=True, blank=True, related_name='+')
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
@ -70,7 +70,7 @@ class Book(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class Promo(models.Model):
|
||||
name = models.CharField(max_length=100, verbose_name='¿Name?')
|
||||
book = models.ForeignKey(Book)
|
||||
book = models.ForeignKey(Book, models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
@ -80,7 +80,7 @@ class Promo(models.Model):
|
|||
class Chapter(models.Model):
|
||||
title = models.CharField(max_length=100, verbose_name='¿Title?')
|
||||
content = models.TextField()
|
||||
book = models.ForeignKey(Book)
|
||||
book = models.ForeignKey(Book, models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
@ -92,7 +92,7 @@ class Chapter(models.Model):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class ChapterXtra1(models.Model):
|
||||
chap = models.OneToOneField(Chapter, verbose_name='¿Chap?')
|
||||
chap = models.OneToOneField(Chapter, models.CASCADE, verbose_name='¿Chap?')
|
||||
xtra = models.CharField(max_length=100, verbose_name='¿Xtra?')
|
||||
|
||||
def __str__(self):
|
||||
|
@ -101,7 +101,7 @@ class ChapterXtra1(models.Model):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class ChapterXtra2(models.Model):
|
||||
chap = models.OneToOneField(Chapter, verbose_name='¿Chap?')
|
||||
chap = models.OneToOneField(Chapter, models.CASCADE, verbose_name='¿Chap?')
|
||||
xtra = models.CharField(max_length=100, verbose_name='¿Xtra?')
|
||||
|
||||
def __str__(self):
|
||||
|
@ -146,7 +146,7 @@ class Color2(Color):
|
|||
@python_2_unicode_compatible
|
||||
class Thing(models.Model):
|
||||
title = models.CharField(max_length=20)
|
||||
color = models.ForeignKey(Color, limit_choices_to={'warm': True})
|
||||
color = models.ForeignKey(Color, models.CASCADE, limit_choices_to={'warm': True})
|
||||
pub_date = models.DateField(blank=True, null=True)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -166,7 +166,7 @@ class Actor(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class Inquisition(models.Model):
|
||||
expected = models.BooleanField(default=False)
|
||||
leader = models.ForeignKey(Actor)
|
||||
leader = models.ForeignKey(Actor, models.CASCADE)
|
||||
country = models.CharField(max_length=20)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -176,12 +176,27 @@ class Inquisition(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class Sketch(models.Model):
|
||||
title = models.CharField(max_length=100)
|
||||
inquisition = models.ForeignKey(Inquisition, limit_choices_to={'leader__name': 'Palin',
|
||||
'leader__age': 27,
|
||||
'expected': False,
|
||||
})
|
||||
defendant0 = models.ForeignKey(Actor, limit_choices_to={'title__isnull': False}, related_name='as_defendant0')
|
||||
defendant1 = models.ForeignKey(Actor, limit_choices_to={'title__isnull': True}, related_name='as_defendant1')
|
||||
inquisition = models.ForeignKey(
|
||||
Inquisition,
|
||||
models.CASCADE,
|
||||
limit_choices_to={
|
||||
'leader__name': 'Palin',
|
||||
'leader__age': 27,
|
||||
'expected': False,
|
||||
},
|
||||
)
|
||||
defendant0 = models.ForeignKey(
|
||||
Actor,
|
||||
models.CASCADE,
|
||||
limit_choices_to={'title__isnull': False},
|
||||
related_name='as_defendant0',
|
||||
)
|
||||
defendant1 = models.ForeignKey(
|
||||
Actor,
|
||||
models.CASCADE,
|
||||
limit_choices_to={'title__isnull': True},
|
||||
related_name='as_defendant1',
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
@ -207,7 +222,12 @@ class Character(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class StumpJoke(models.Model):
|
||||
variation = models.CharField(max_length=100)
|
||||
most_recently_fooled = models.ForeignKey(Character, limit_choices_to=today_callable_dict, related_name="+")
|
||||
most_recently_fooled = models.ForeignKey(
|
||||
Character,
|
||||
models.CASCADE,
|
||||
limit_choices_to=today_callable_dict,
|
||||
related_name="+",
|
||||
)
|
||||
has_fooled_today = models.ManyToManyField(Character, limit_choices_to=today_callable_q, related_name="+")
|
||||
|
||||
def __str__(self):
|
||||
|
@ -259,7 +279,7 @@ class Account(models.Model):
|
|||
types of accounts.
|
||||
"""
|
||||
username = models.CharField(blank=False, max_length=80)
|
||||
persona = models.ForeignKey(Persona, related_name="accounts")
|
||||
persona = models.ForeignKey(Persona, models.CASCADE, related_name="accounts")
|
||||
servicename = 'generic service'
|
||||
|
||||
def __str__(self):
|
||||
|
@ -305,7 +325,7 @@ class Podcast(Media):
|
|||
|
||||
|
||||
class Vodcast(Media):
|
||||
media = models.OneToOneField(Media, primary_key=True, parent_link=True)
|
||||
media = models.OneToOneField(Media, models.CASCADE, primary_key=True, parent_link=True)
|
||||
released = models.BooleanField(default=False)
|
||||
|
||||
|
||||
|
@ -318,7 +338,7 @@ class Parent(models.Model):
|
|||
|
||||
|
||||
class Child(models.Model):
|
||||
parent = models.ForeignKey(Parent, editable=False)
|
||||
parent = models.ForeignKey(Parent, models.CASCADE, editable=False)
|
||||
name = models.CharField(max_length=30, blank=True)
|
||||
|
||||
def clean(self):
|
||||
|
@ -343,7 +363,7 @@ class Gallery(models.Model):
|
|||
class Picture(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
image = models.FileField(storage=temp_storage, upload_to='test_upload')
|
||||
gallery = models.ForeignKey(Gallery, related_name="pictures")
|
||||
gallery = models.ForeignKey(Gallery, models.CASCADE, related_name="pictures")
|
||||
|
||||
|
||||
class Language(models.Model):
|
||||
|
@ -362,7 +382,7 @@ class Title(models.Model):
|
|||
|
||||
|
||||
class TitleTranslation(models.Model):
|
||||
title = models.ForeignKey(Title)
|
||||
title = models.ForeignKey(Title, models.CASCADE)
|
||||
text = models.CharField(max_length=100)
|
||||
|
||||
|
||||
|
@ -371,7 +391,7 @@ class Recommender(Title):
|
|||
|
||||
|
||||
class Recommendation(Title):
|
||||
recommender = models.ForeignKey(Recommender)
|
||||
recommender = models.ForeignKey(Recommender, models.CASCADE)
|
||||
|
||||
|
||||
class Collector(models.Model):
|
||||
|
@ -379,25 +399,25 @@ class Collector(models.Model):
|
|||
|
||||
|
||||
class Widget(models.Model):
|
||||
owner = models.ForeignKey(Collector)
|
||||
owner = models.ForeignKey(Collector, models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
|
||||
|
||||
class DooHickey(models.Model):
|
||||
code = models.CharField(max_length=10, primary_key=True)
|
||||
owner = models.ForeignKey(Collector)
|
||||
owner = models.ForeignKey(Collector, models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
|
||||
|
||||
class Grommet(models.Model):
|
||||
code = models.AutoField(primary_key=True)
|
||||
owner = models.ForeignKey(Collector)
|
||||
owner = models.ForeignKey(Collector, models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
|
||||
|
||||
class Whatsit(models.Model):
|
||||
index = models.IntegerField(primary_key=True)
|
||||
owner = models.ForeignKey(Collector)
|
||||
owner = models.ForeignKey(Collector, models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
|
||||
|
||||
|
@ -406,13 +426,13 @@ class Doodad(models.Model):
|
|||
|
||||
|
||||
class FancyDoodad(Doodad):
|
||||
owner = models.ForeignKey(Collector)
|
||||
owner = models.ForeignKey(Collector, models.CASCADE)
|
||||
expensive = models.BooleanField(default=True)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Category(models.Model):
|
||||
collector = models.ForeignKey(Collector)
|
||||
collector = models.ForeignKey(Collector, models.CASCADE)
|
||||
order = models.PositiveIntegerField()
|
||||
|
||||
class Meta:
|
||||
|
@ -429,7 +449,7 @@ def link_posted_default():
|
|||
class Link(models.Model):
|
||||
posted = models.DateField(default=link_posted_default)
|
||||
url = models.URLField()
|
||||
post = models.ForeignKey("Post")
|
||||
post = models.ForeignKey("Post", models.CASCADE)
|
||||
|
||||
|
||||
class PrePopulatedPost(models.Model):
|
||||
|
@ -439,7 +459,7 @@ class PrePopulatedPost(models.Model):
|
|||
|
||||
|
||||
class PrePopulatedSubPost(models.Model):
|
||||
post = models.ForeignKey(PrePopulatedPost)
|
||||
post = models.ForeignKey(PrePopulatedPost, models.CASCADE)
|
||||
subtitle = models.CharField(max_length=100)
|
||||
subslug = models.SlugField()
|
||||
|
||||
|
@ -488,7 +508,7 @@ class SuperVillain(Villain):
|
|||
class FunkyTag(models.Model):
|
||||
"Because we all know there's only one real use case for GFKs."
|
||||
name = models.CharField(max_length=25)
|
||||
content_type = models.ForeignKey(ContentType)
|
||||
content_type = models.ForeignKey(ContentType, models.CASCADE)
|
||||
object_id = models.PositiveIntegerField()
|
||||
content_object = GenericForeignKey('content_type', 'object_id')
|
||||
|
||||
|
@ -499,8 +519,8 @@ class FunkyTag(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class Plot(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
team_leader = models.ForeignKey(Villain, related_name='lead_plots')
|
||||
contact = models.ForeignKey(Villain, related_name='contact_plots')
|
||||
team_leader = models.ForeignKey(Villain, models.CASCADE, related_name='lead_plots')
|
||||
contact = models.ForeignKey(Villain, models.CASCADE, related_name='contact_plots')
|
||||
tags = GenericRelation(FunkyTag)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -510,7 +530,7 @@ class Plot(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class PlotDetails(models.Model):
|
||||
details = models.CharField(max_length=100)
|
||||
plot = models.OneToOneField(Plot)
|
||||
plot = models.OneToOneField(Plot, models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.details
|
||||
|
@ -520,7 +540,7 @@ class PlotDetails(models.Model):
|
|||
class SecretHideout(models.Model):
|
||||
""" Secret! Not registered with the admin! """
|
||||
location = models.CharField(max_length=100)
|
||||
villain = models.ForeignKey(Villain)
|
||||
villain = models.ForeignKey(Villain, models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.location
|
||||
|
@ -530,7 +550,7 @@ class SecretHideout(models.Model):
|
|||
class SuperSecretHideout(models.Model):
|
||||
""" Secret! Not registered with the admin! """
|
||||
location = models.CharField(max_length=100)
|
||||
supervillain = models.ForeignKey(SuperVillain)
|
||||
supervillain = models.ForeignKey(SuperVillain, models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.location
|
||||
|
@ -539,7 +559,7 @@ class SuperSecretHideout(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class CyclicOne(models.Model):
|
||||
name = models.CharField(max_length=25)
|
||||
two = models.ForeignKey('CyclicTwo')
|
||||
two = models.ForeignKey('CyclicTwo', models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
@ -548,7 +568,7 @@ class CyclicOne(models.Model):
|
|||
@python_2_unicode_compatible
|
||||
class CyclicTwo(models.Model):
|
||||
name = models.CharField(max_length=25)
|
||||
one = models.ForeignKey(CyclicOne)
|
||||
one = models.ForeignKey(CyclicOne, models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
@ -564,7 +584,7 @@ class Pizza(models.Model):
|
|||
|
||||
|
||||
class Album(models.Model):
|
||||
owner = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL)
|
||||
owner = models.ForeignKey(User, models.SET_NULL, null=True, blank=True)
|
||||
title = models.CharField(max_length=30)
|
||||
|
||||
|
||||
|
@ -574,7 +594,7 @@ class Employee(Person):
|
|||
|
||||
class WorkHour(models.Model):
|
||||
datum = models.DateField()
|
||||
employee = models.ForeignKey(Employee)
|
||||
employee = models.ForeignKey(Employee, models.CASCADE)
|
||||
|
||||
|
||||
class Question(models.Model):
|
||||
|
@ -583,7 +603,7 @@ class Question(models.Model):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class Answer(models.Model):
|
||||
question = models.ForeignKey(Question, on_delete=models.PROTECT)
|
||||
question = models.ForeignKey(Question, models.PROTECT)
|
||||
answer = models.CharField(max_length=20)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -722,7 +742,7 @@ class MainPrepopulated(models.Model):
|
|||
|
||||
|
||||
class RelatedPrepopulated(models.Model):
|
||||
parent = models.ForeignKey(MainPrepopulated)
|
||||
parent = models.ForeignKey(MainPrepopulated, models.CASCADE)
|
||||
name = models.CharField(max_length=75)
|
||||
pubdate = models.DateField()
|
||||
status = models.CharField(
|
||||
|
@ -790,7 +810,7 @@ class DependentChild(models.Model):
|
|||
Model that depends on validation of the parent class for one of its
|
||||
fields to validate during clean
|
||||
"""
|
||||
parent = models.ForeignKey(ParentWithDependentChildren)
|
||||
parent = models.ForeignKey(ParentWithDependentChildren, models.CASCADE)
|
||||
family_name = models.CharField(max_length=255)
|
||||
|
||||
|
||||
|
@ -824,7 +844,7 @@ class State(models.Model):
|
|||
|
||||
|
||||
class City(models.Model):
|
||||
state = models.ForeignKey(State)
|
||||
state = models.ForeignKey(State, models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
|
||||
def get_absolute_url(self):
|
||||
|
@ -832,7 +852,7 @@ class City(models.Model):
|
|||
|
||||
|
||||
class Restaurant(models.Model):
|
||||
city = models.ForeignKey(City)
|
||||
city = models.ForeignKey(City, models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
|
||||
def get_absolute_url(self):
|
||||
|
@ -840,7 +860,7 @@ class Restaurant(models.Model):
|
|||
|
||||
|
||||
class Worker(models.Model):
|
||||
work_at = models.ForeignKey(Restaurant)
|
||||
work_at = models.ForeignKey(Restaurant, models.CASCADE)
|
||||
name = models.CharField(max_length=50)
|
||||
surname = models.CharField(max_length=50)
|
||||
|
||||
|
@ -852,7 +872,10 @@ class ReferencedByParent(models.Model):
|
|||
|
||||
class ParentWithFK(models.Model):
|
||||
fk = models.ForeignKey(
|
||||
ReferencedByParent, to_field='name', related_name='hidden+',
|
||||
ReferencedByParent,
|
||||
models.CASCADE,
|
||||
to_field='name',
|
||||
related_name='hidden+',
|
||||
)
|
||||
|
||||
|
||||
|
@ -867,7 +890,10 @@ class ReferencedByInline(models.Model):
|
|||
|
||||
class InlineReference(models.Model):
|
||||
fk = models.ForeignKey(
|
||||
ReferencedByInline, to_field='name', related_name='hidden+',
|
||||
ReferencedByInline,
|
||||
models.CASCADE,
|
||||
to_field='name',
|
||||
related_name='hidden+',
|
||||
)
|
||||
|
||||
|
||||
|
@ -886,8 +912,8 @@ class Ingredient(models.Model):
|
|||
|
||||
|
||||
class RecipeIngredient(models.Model):
|
||||
ingredient = models.ForeignKey(Ingredient, to_field='iname')
|
||||
recipe = models.ForeignKey(Recipe, to_field='rname')
|
||||
ingredient = models.ForeignKey(Ingredient, models.CASCADE, to_field='iname')
|
||||
recipe = models.ForeignKey(Recipe, models.CASCADE, to_field='rname')
|
||||
|
||||
|
||||
# Model for #23839
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue