summaryrefslogtreecommitdiff
path: root/docs/ref/models
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2013-01-01 08:12:42 -0500
committerTim Graham <timograham@gmail.com>2013-01-02 18:50:00 -0500
commitbe1e006c581cc45ed48ae0b423e7a0a996d2199b (patch)
tree5e33669588d7c8d2a49d99f82ae87524d22a9455 /docs/ref/models
parent61c861546bdbae694f22e2c54e9ca0f42331cae1 (diff)
[1.5.x] Fixed #19516 - Fixed remaining broken links.
Added -n to sphinx builds to catch issues going forward. Backport of 9b5f64cc6e from master.
Diffstat (limited to 'docs/ref/models')
-rw-r--r--docs/ref/models/fields.txt93
-rw-r--r--docs/ref/models/options.txt2
2 files changed, 59 insertions, 36 deletions
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index 45a70c66e3..a2081e05f4 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -113,7 +113,7 @@ define a suitably-named constant for each value::
default=FRESHMAN)
def is_upperclass(self):
- return self.year_in_school in (self.JUNIOR, self.SENIOR)
+ return self.year_in_school in (self.JUNIOR, self.SENIOR)
Though you can define a choices list outside of a model class and then
refer to it, defining the choices and names for each choice inside the
@@ -509,8 +509,8 @@ Has one **required** argument:
.. attribute:: FileField.upload_to
A local filesystem path that will be appended to your :setting:`MEDIA_ROOT`
- setting to determine the value of the :attr:`~django.core.files.File.url`
- attribute.
+ setting to determine the value of the
+ :attr:`~django.db.models.fields.files.FieldFile.url` attribute.
This path may contain :func:`~time.strftime` formatting, which will be
replaced by the date/time of the file upload (so that uploaded files don't
@@ -564,9 +564,9 @@ takes a few steps:
3. All that will be stored in your database is a path to the file
(relative to :setting:`MEDIA_ROOT`). You'll most likely want to use the
- convenience :attr:`~django.core.files.File.url` function provided by
- Django. For example, if your :class:`ImageField` is called ``mug_shot``,
- you can get the absolute path to your image in a template with
+ convenience :attr:`~django.db.models.fields.files.FieldFile.url` attribute
+ provided by Django. For example, if your :class:`ImageField` is called
+ ``mug_shot``, you can get the absolute path to your image in a template with
``{{ object.mug_shot.url }}``.
For example, say your :setting:`MEDIA_ROOT` is set to ``'/home/media'``, and
@@ -589,7 +589,7 @@ topic guide.
saved.
The uploaded file's relative URL can be obtained using the
-:attr:`~django.db.models.FileField.url` attribute. Internally,
+:attr:`~django.db.models.fields.files.FieldFile.url` attribute. Internally,
this calls the :meth:`~django.core.files.storage.Storage.url` method of the
underlying :class:`~django.core.files.storage.Storage` class.
@@ -614,9 +614,20 @@ can change the maximum length using the :attr:`~CharField.max_length` argument.
FileField and FieldFile
~~~~~~~~~~~~~~~~~~~~~~~
-When you access a :class:`FileField` on a model, you are given an instance
-of :class:`FieldFile` as a proxy for accessing the underlying file. This
-class has several methods that can be used to interact with file data:
+.. currentmodule:: django.db.models.fields.files
+
+.. class:: FieldFile
+
+When you access a :class:`~django.db.models.FileField` on a model, you are
+given an instance of :class:`FieldFile` as a proxy for accessing the underlying
+file. This class has several attributes and methods that can be used to
+interact with file data:
+
+.. attribute:: FieldFile.url
+
+A read-only property to access the file's relative URL by calling the
+:meth:`~django.core.files.storage.Storage.url` method of the underlying
+:class:`~django.core.files.storage.Storage` class.
.. method:: FieldFile.open(mode='rb')
@@ -632,9 +643,9 @@ associated with this instance.
This method takes a filename and file contents and passes them to the storage
class for the field, then associates the stored file with the model field.
-If you want to manually associate file data with :class:`FileField`
-instances on your model, the ``save()`` method is used to persist that file
-data.
+If you want to manually associate file data with
+:class:`~django.db.models.FileField` instances on your model, the ``save()``
+method is used to persist that file data.
Takes two required arguments: ``name`` which is the name of the file, and
``content`` which is an object containing the file's contents. The
@@ -672,6 +683,8 @@ to cleanup orphaned files, you'll need to handle it yourself (for instance,
with a custom management command that can be run manually or scheduled to run
periodically via e.g. cron).
+.. currentmodule:: django.db.models
+
``FilePathField``
-----------------
@@ -759,8 +772,7 @@ Inherits all attributes and methods from :class:`FileField`, but also
validates that the uploaded object is a valid image.
In addition to the special attributes that are available for :class:`FileField`,
-an :class:`ImageField` also has :attr:`~django.core.files.File.height` and
-:attr:`~django.core.files.File.width` attributes.
+an :class:`ImageField` also has ``height`` and ``width`` attributes.
To facilitate querying on those attributes, :class:`ImageField` has two extra
optional arguments:
@@ -1049,26 +1061,36 @@ define the details of how the relation works.
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)
- The possible values for :attr:`on_delete` are found in
- :mod:`django.db.models`:
+The possible values for :attr:`~ForeignKey.on_delete` are found in
+:mod:`django.db.models`:
- * :attr:`~django.db.models.CASCADE`: Cascade deletes; the default.
+* .. attribute:: CASCADE
- * :attr:`~django.db.models.PROTECT`: Prevent deletion of the referenced
- object by raising :exc:`django.db.models.ProtectedError`, a subclass of
- :exc:`django.db.IntegrityError`.
+ Cascade deletes; the default.
- * :attr:`~django.db.models.SET_NULL`: Set the :class:`ForeignKey` null;
- this is only possible if :attr:`null` is ``True``.
+* .. attribute:: PROTECT
- * :attr:`~django.db.models.SET_DEFAULT`: Set the :class:`ForeignKey` to its
- default value; a default for the :class:`ForeignKey` must be set.
+ Prevent deletion of the referenced object by raising
+ :exc:`~django.db.models.ProtectedError`, a subclass of
+ :exc:`django.db.IntegrityError`.
- * :func:`~django.db.models.SET()`: Set the :class:`ForeignKey` to the value
- passed to :func:`~django.db.models.SET()`, or if a callable is passed in,
- the result of calling it. In most cases, passing a callable will be
- necessary to avoid executing queries at the time your models.py is
- imported::
+* .. attribute:: SET_NULL
+
+ Set the :class:`ForeignKey` null; this is only possible if
+ :attr:`~Field.null` is ``True``.
+
+* .. attribute:: SET_DEFAULT
+
+ Set the :class:`ForeignKey` to its default value; a default for the
+ :class:`ForeignKey` must be set.
+
+* .. function:: SET()
+
+ Set the :class:`ForeignKey` to the value passed to
+ :func:`~django.db.models.SET()`, or if a callable is passed in,
+ the result of calling it. In most cases, passing a callable will be
+ necessary to avoid executing queries at the time your models.py is
+ imported::
def get_sentinel_user():
return User.objects.get_or_create(username='deleted')[0]
@@ -1076,11 +1098,12 @@ define the details of how the relation works.
class MyModel(models.Model):
user = models.ForeignKey(User, on_delete=models.SET(get_sentinel_user))
- * :attr:`~django.db.models.DO_NOTHING`: Take no action. If your database
- backend enforces referential integrity, this will cause an
- :exc:`~django.db.IntegrityError` unless you manually add a SQL ``ON
- DELETE`` constraint to the database field (perhaps using
- :ref:`initial sql<initial-sql>`).
+* .. attribute:: DO_NOTHING
+
+ Take no action. If your database backend enforces referential
+ integrity, this will cause an :exc:`~django.db.IntegrityError` unless
+ you manually add a SQL ``ON DELETE`` constraint to the database field
+ (perhaps using :ref:`initial sql<initial-sql>`).
.. _ref-manytomany:
diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt
index ac20422915..307b46241d 100644
--- a/docs/ref/models/options.txt
+++ b/docs/ref/models/options.txt
@@ -100,7 +100,7 @@ Django quotes column and table names behind the scenes.
.. attribute:: Options.managed
Defaults to ``True``, meaning Django will create the appropriate database
- tables in :djadmin:`syncdb` and remove them as part of a :djadmin:`reset`
+ tables in :djadmin:`syncdb` and remove them as part of a :djadmin:`flush`
management command. That is, Django *manages* the database tables'
lifecycles.