mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +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
|
@ -74,8 +74,12 @@ A model with useful documentation might look like this::
|
|||
|
||||
"""
|
||||
slug = models.SlugField(help_text="A short label, generally used in URLs.")
|
||||
author = models.ForeignKey(User)
|
||||
blog = models.ForeignKey(Blog)
|
||||
author = models.ForeignKey(
|
||||
User,
|
||||
models.SET_NULL,
|
||||
blank=True, null=True,
|
||||
)
|
||||
blog = models.ForeignKey(Blog, models.CASCADE)
|
||||
...
|
||||
|
||||
def publish(self):
|
||||
|
|
|
@ -1957,7 +1957,7 @@ information.
|
|||
name = models.CharField(max_length=100)
|
||||
|
||||
class Book(models.Model):
|
||||
author = models.ForeignKey(Author)
|
||||
author = models.ForeignKey(Author, on_delete=models.CASCADE)
|
||||
title = models.CharField(max_length=100)
|
||||
|
||||
You can edit the books authored by an author on the author page. You add
|
||||
|
@ -2174,8 +2174,8 @@ Take this model for instance::
|
|||
from django.db import models
|
||||
|
||||
class Friendship(models.Model):
|
||||
to_person = models.ForeignKey(Person, related_name="friends")
|
||||
from_person = models.ForeignKey(Person, related_name="from_friends")
|
||||
to_person = models.ForeignKey(Person, on_delete=models.CASCADE, related_name="friends")
|
||||
from_person = models.ForeignKey(Person, on_delete=models.CASCADE, related_name="from_friends")
|
||||
|
||||
If you wanted to display an inline on the ``Person`` admin add/change pages
|
||||
you need to explicitly define the foreign key since it is unable to do so
|
||||
|
@ -2281,8 +2281,8 @@ models::
|
|||
members = models.ManyToManyField(Person, through='Membership')
|
||||
|
||||
class Membership(models.Model):
|
||||
person = models.ForeignKey(Person)
|
||||
group = models.ForeignKey(Group)
|
||||
person = models.ForeignKey(Person, on_delete=models.CASCADE)
|
||||
group = models.ForeignKey(Group, on_delete=models.CASCADE)
|
||||
date_joined = models.DateField()
|
||||
invite_reason = models.CharField(max_length=64)
|
||||
|
||||
|
@ -2326,7 +2326,7 @@ you have the following models::
|
|||
|
||||
class Image(models.Model):
|
||||
image = models.ImageField(upload_to="images")
|
||||
content_type = models.ForeignKey(ContentType)
|
||||
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
|
||||
object_id = models.PositiveIntegerField()
|
||||
content_object = GenericForeignKey("content_type", "object_id")
|
||||
|
||||
|
|
|
@ -256,7 +256,7 @@ A simple example is a tagging system, which might look like this::
|
|||
|
||||
class TaggedItem(models.Model):
|
||||
tag = models.SlugField()
|
||||
content_type = models.ForeignKey(ContentType)
|
||||
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
|
||||
object_id = models.PositiveIntegerField()
|
||||
content_object = GenericForeignKey('content_type', 'object_id')
|
||||
|
||||
|
|
|
@ -269,7 +269,7 @@ model::
|
|||
street = models.CharField(max_length=100)
|
||||
city = models.CharField(max_length=100)
|
||||
state = models.CharField(max_length=2)
|
||||
zipcode = models.ForeignKey(Zipcode)
|
||||
zipcode = models.ForeignKey(Zipcode, on_delete=models.CASCADE)
|
||||
objects = models.GeoManager()
|
||||
|
||||
The geographic manager is needed to do spatial queries on related ``Zipcode`` objects,
|
||||
|
|
|
@ -117,7 +117,7 @@ like this::
|
|||
class Article(models.Model):
|
||||
headline = models.CharField(max_length=200)
|
||||
# ...
|
||||
site = models.ForeignKey(Site)
|
||||
site = models.ForeignKey(Site, on_delete=models.CASCADE)
|
||||
|
||||
This has the same benefits as described in the last section.
|
||||
|
||||
|
@ -334,7 +334,7 @@ your model explicitly. For example::
|
|||
photo = models.FileField(upload_to='/home/photos')
|
||||
photographer_name = models.CharField(max_length=100)
|
||||
pub_date = models.DateField()
|
||||
site = models.ForeignKey(Site)
|
||||
site = models.ForeignKey(Site, on_delete=models.CASCADE)
|
||||
objects = models.Manager()
|
||||
on_site = CurrentSiteManager()
|
||||
|
||||
|
@ -371,7 +371,7 @@ demonstrates this::
|
|||
photo = models.FileField(upload_to='/home/photos')
|
||||
photographer_name = models.CharField(max_length=100)
|
||||
pub_date = models.DateField()
|
||||
publish_on = models.ForeignKey(Site)
|
||||
publish_on = models.ForeignKey(Site, on_delete=models.CASCADE)
|
||||
objects = models.Manager()
|
||||
on_site = CurrentSiteManager('publish_on')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue