summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-11-13 05:33:25 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-11-14 20:22:07 +0100
commit5875f03ce61b85dfd9ad34f7b871c231c358d432 (patch)
tree0636ce76c69d41b2cdf3205d715bd4edbefaaff6 /docs
parentde4884b114534f43c49cf8c5b7f10181e737f4e9 (diff)
Fixed #34944 -- Made GeneratedField.output_field required.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/models/fields.txt12
-rw-r--r--docs/releases/5.0.txt6
2 files changed, 10 insertions, 8 deletions
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index 9e945b7f27..a29d06c00a 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -1237,7 +1237,7 @@ when :attr:`~django.forms.Field.localize` is ``False`` or
.. versionadded:: 5.0
-.. class:: GeneratedField(expression, db_persist=None, output_field=None, **kwargs)
+.. class:: GeneratedField(expression, output_field, db_persist=None, **kwargs)
A field that is always computed based on other fields in the model. This field
is managed and updated by the database itself. Uses the ``GENERATED ALWAYS``
@@ -1259,6 +1259,10 @@ materialized view.
the model (in the same database table). Generated fields cannot reference
other generated fields. Database backends can impose further restrictions.
+.. attribute:: GeneratedField.output_field
+
+ A model field instance to define the field's data type.
+
.. attribute:: GeneratedField.db_persist
Determines if the database column should occupy storage as if it were a
@@ -1268,12 +1272,6 @@ materialized view.
PostgreSQL only supports persisted columns. Oracle only supports virtual
columns.
-.. attribute:: GeneratedField.output_field
-
- An optional model field instance to define the field's data type. This can
- be used to customize attributes like the field's collation. By default, the
- output field is derived from ``expression``.
-
.. admonition:: Refresh the data
Since the database always computed the value, the object must be reloaded
diff --git a/docs/releases/5.0.txt b/docs/releases/5.0.txt
index b60f7a6c76..db75a6b0a3 100644
--- a/docs/releases/5.0.txt
+++ b/docs/releases/5.0.txt
@@ -142,7 +142,11 @@ to create a field that is always computed from other fields. For example::
class Square(models.Model):
side = models.IntegerField()
- area = models.GeneratedField(expression=F("side") * F("side"), db_persist=True)
+ area = models.GeneratedField(
+ expression=F("side") * F("side"),
+ output_field=models.BigIntegerField(),
+ db_persist=True,
+ )
More options for declaring field choices
----------------------------------------