瀏覽代碼

Fixed #29192 -- Corrected docs regarding overriding fields from abstract base classes.

ovalseven8 7 年之前
父節點
當前提交
22bcd3a1d8
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      docs/topics/db/models.txt

+ 4 - 3
docs/topics/db/models.txt

@@ -897,9 +897,7 @@ information into a number of other models. You write your base class
 and put ``abstract=True`` in the :ref:`Meta <meta-options>`
 class. This model will then not be used to create any database
 table. Instead, when it is used as a base class for other models, its
-fields will be added to those of the child class. It is an error to
-have fields in the abstract base class with the same name as those in
-the child (and Django will raise an exception).
+fields will be added to those of the child class.
 
 An example::
 
@@ -920,6 +918,9 @@ The ``Student`` model will have three fields: ``name``, ``age`` and
 model, since it is an abstract base class. It does not generate a database
 table or have a manager, and cannot be instantiated or saved directly.
 
+Fields inherited from abstract base classes can be overridden with another
+field or value, or be removed with ``None``.
+
 For many uses, this type of model inheritance will be exactly what you want.
 It provides a way to factor out common information at the Python level, while
 still only creating one database table per child model at the database level.