Procházet zdrojové kódy

Fixed #35731 -- Extended db_default docs.

This added a missing db_default reference in docs/topics/db/models.txt,
and added a reference to the DatabaseDefault object.
Yash před 5 měsíci
rodič
revize
35ab2e0182
2 změnil soubory, kde provedl 14 přidání a 0 odebrání
  1. 5 0
      docs/ref/models/fields.txt
  2. 9 0
      docs/topics/db/models.txt

+ 5 - 0
docs/ref/models/fields.txt

@@ -426,6 +426,11 @@ precedence when creating instances in Python code. ``db_default`` will still be
 set at the database level and will be used when inserting rows outside of the
 ORM or when adding a new field in a migration.
 
+If a field has a ``db_default`` without a ``default`` set and no value is
+assigned to the field, a ``DatabaseDefault`` object is returned as the field
+value on unsaved model instances. The actual value for the field is determined
+by the database when the model instance is saved.
+
 ``db_index``
 ------------
 

+ 9 - 0
docs/topics/db/models.txt

@@ -224,6 +224,15 @@ ones:
     object. If callable it will be called every time a new object is
     created.
 
+:attr:`~Field.db_default`
+    The database-computed default value for the field. This can be a literal
+    value or a database function.
+
+    If both ``db_default`` and :attr:`Field.default` are set, ``default`` will
+    take precedence when creating instances in Python code. ``db_default`` will
+    still be set at the database level and will be used when inserting rows
+    outside of the ORM or when adding a new field in a migration.
+
 :attr:`~Field.help_text`
     Extra "help" text to be displayed with the form widget. It's useful for
     documentation even if your field isn't used on a form.