bpo-15243: Document __prepare__ as classmethod (GH-17124)

(cherry picked from commit 7de617455ed788e6730c40cf854c4b72b0432194)

Co-authored-by: alclarks <57201106+alclarks@users.noreply.github.com>
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index e801ee3..7b3bf0d 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1945,7 +1945,8 @@
 Once the appropriate metaclass has been identified, then the class namespace
 is prepared. If the metaclass has a ``__prepare__`` attribute, it is called
 as ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (where the
-additional keyword arguments, if any, come from the class definition).
+additional keyword arguments, if any, come from the class definition). The
+``__prepare__`` method should be implemented as a :func:`classmethod`.
 
 If the metaclass has no ``__prepare__`` attribute, then the class namespace
 is initialised as an empty ordered mapping.