2022-11-14 22:43:45 +01:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2023-10-19 20:22:27 +00:00
< title > django.db.models.manager — Evennia 2.x documentation< / title >
2022-11-14 22:43:45 +01:00
< link rel = "stylesheet" href = "../../../../_static/nature.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../../../_static/pygments.css" type = "text/css" / >
< script id = "documentation_options" data-url_root = "../../../../" src = "../../../../_static/documentation_options.js" > < / script >
< script src = "../../../../_static/jquery.js" > < / script >
< script src = "../../../../_static/underscore.js" > < / script >
< script src = "../../../../_static/doctools.js" > < / script >
< script src = "../../../../_static/language_data.js" > < / script >
< link rel = "shortcut icon" href = "../../../../_static/favicon.ico" / >
< link rel = "index" title = "Index" href = "../../../../genindex.html" / >
< link rel = "search" title = "Search" href = "../../../../search.html" / >
< / head > < body >
2023-10-19 20:22:27 +00:00
2022-11-14 22:43:45 +01:00
< div class = "related" role = "navigation" aria-label = "related navigation" >
< h3 > Navigation< / h3 >
< ul >
< li class = "right" style = "margin-right: 10px" >
< a href = "../../../../genindex.html" title = "General Index"
accesskey="I">index< / a > < / li >
< li class = "right" >
< a href = "../../../../py-modindex.html" title = "Python Module Index"
>modules< / a > |< / li >
2023-10-19 20:22:27 +00:00
< li class = "nav-item nav-item-0" > < a href = "../../../../index.html" > Evennia 2.x< / a > » < / li >
2022-11-14 22:43:45 +01:00
< li class = "nav-item nav-item-1" > < a href = "../../../index.html" accesskey = "U" > Module code< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > django.db.models.manager< / a > < / li >
< / ul >
2023-06-10 08:53:19 +00:00
< / div >
2022-11-14 22:43:45 +01:00
< div class = "document" >
< div class = "documentwrapper" >
< div class = "sphinxsidebar" role = "navigation" aria-label = "main navigation" >
< div class = "sphinxsidebarwrapper" >
< p class = "logo" > < a href = "../../../../index.html" >
< img class = "logo" src = "../../../../_static/evennia_logo.png" alt = "Logo" / >
< / a > < / p >
< div id = "searchbox" style = "display: none" role = "search" >
< h3 id = "searchlabel" > Quick search< / h3 >
< div class = "searchformwrapper" >
< form class = "search" action = "../../../../search.html" method = "get" >
< input type = "text" name = "q" aria-labelledby = "searchlabel" / >
< input type = "submit" value = "Go" / >
< / form >
< / div >
< / div >
< script > $ ( '#searchbox' ) . show ( 0 ) ; < / script > < h3 > Links< / h3 >
< ul >
2023-10-19 20:22:27 +00:00
< li > < a href = "https://www.evennia.com/docs/latest/index.html" > Documentation Top< / a > < / li >
< li > < a href = "https://www.evennia.com" > Evennia Home< / a > < / li >
< li > < a href = "https://github.com/evennia/evennia" > Github< / a > < / li >
2022-11-14 22:43:45 +01:00
< li > < a href = "http://games.evennia.com" > Game Index< / a > < / li >
< li >
< a href = "https://discord.gg/AJJpcRUhtF" > Discord< / a > -
< a href = "https://github.com/evennia/evennia/discussions" > Discussions< / a > -
< a href = "https://evennia.blogspot.com/" > Blog< / a >
< / li >
< / ul >
2023-10-19 20:22:27 +00:00
< h3 > Doc Versions< / h3 >
2022-11-14 22:43:45 +01:00
< ul >
2023-10-19 20:22:27 +00:00
< li > < a href = "manager.html" > 2.x (main branch)< / a > < / li >
2022-11-15 20:29:38 +00:00
< ul >
2023-10-19 20:22:27 +00:00
< li > < a href = "../1.3.0/index.html" > 1.3.0 (v1.3.0 branch)< / a > < / li >
< li > < a href = "../0.9.5/index.html" > 0.9.5 (v0.9.5 branch)< / a > < / li >
2022-11-15 20:29:38 +00:00
2022-11-14 22:43:45 +01:00
< / ul >
< / div >
< / div >
< div class = "bodywrapper" >
< div class = "body" role = "main" >
< h1 > Source code for django.db.models.manager< / h1 > < div class = "highlight" > < pre >
< span > < / span > < span class = "kn" > import< / span > < span class = "nn" > copy< / span >
< span class = "kn" > import< / span > < span class = "nn" > inspect< / span >
2023-12-02 22:36:16 +00:00
< span class = "kn" > from< / span > < span class = "nn" > functools< / span > < span class = "kn" > import< / span > < span class = "n" > wraps< / span >
2022-11-14 22:43:45 +01:00
< span class = "kn" > from< / span > < span class = "nn" > importlib< / span > < span class = "kn" > import< / span > < span class = "n" > import_module< / span >
< span class = "kn" > from< / span > < span class = "nn" > django.db< / span > < span class = "kn" > import< / span > < span class = "n" > router< / span >
< span class = "kn" > from< / span > < span class = "nn" > django.db.models.query< / span > < span class = "kn" > import< / span > < span class = "n" > QuerySet< / span >
< span class = "k" > class< / span > < span class = "nc" > BaseManager< / span > < span class = "p" > :< / span >
< span class = "c1" > # To retain order, track each time a Manager instance is created.< / span >
< span class = "n" > creation_counter< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "c1" > # Set to True for the ' objects' managers that are automatically created.< / span >
< span class = "n" > auto_created< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< span class = "c1" > #: If set to True the manager will be serialized into migrations and will< / span >
< span class = "c1" > #: thus be available in e.g. RunPython operations.< / span >
< span class = "n" > use_in_migrations< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< span class = "k" > def< / span > < span class = "fm" > __new__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > ):< / span >
< span class = "c1" > # Capture the arguments to make returning them trivial.< / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "fm" > __new__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > )< / span >
< span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > _constructor_args< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > kwargs< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "n" > obj< / span >
< span class = "k" > def< / span > < span class = "fm" > __init__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "fm" > __init__< / span > < span class = "p" > ()< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _set_creation_counter< / span > < span class = "p" > ()< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > model< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _db< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hints< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< span class = "k" > def< / span > < span class = "fm" > __str__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2023-01-06 17:19:13 +00:00
< span class = "w" > < / span > < span class = "sd" > " " " Return " app_label.model_label.manager_name" ." " " < / span >
2022-11-14 22:43:45 +01:00
< span class = "k" > return< / span > < span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > .< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > model< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > label< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > __class_getitem__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > cls< / span >
< span class = "k" > def< / span > < span class = "nf" > deconstruct< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2023-01-06 17:19:13 +00:00
< span class = "w" > < / span > < span class = "sd" > " " " < / span >
2022-11-14 22:43:45 +01:00
< span class = "sd" > Return a 5-tuple of the form (as_manager (True), manager_class,< / span >
< span class = "sd" > queryset_class, args, kwargs).< / span >
< span class = "sd" > Raise a ValueError if the manager is dynamically generated.< / span >
< span class = "sd" > " " " < / span >
< span class = "n" > qs_class< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _queryset_class< / span >
< span class = "k" > if< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "s2" > " _built_with_as_manager" < / span > < span class = "p" > ,< / span > < span class = "kc" > False< / span > < span class = "p" > ):< / span >
< span class = "c1" > # using MyQuerySet.as_manager()< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span >
< span class = "kc" > True< / span > < span class = "p" > ,< / span > < span class = "c1" > # as_manager< / span >
< span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "c1" > # manager_class< / span >
< span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > .< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > qs_class< / span > < span class = "o" > .< / span > < span class = "vm" > __module__< / span > < span class = "p" > ,< / span > < span class = "n" > qs_class< / span > < span class = "o" > .< / span > < span class = "vm" > __name__< / span > < span class = "p" > ),< / span > < span class = "c1" > # qs_class< / span >
< span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "c1" > # args< / span >
< span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "c1" > # kwargs< / span >
< span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > module_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "vm" > __module__< / span >
< span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "vm" > __class__< / span > < span class = "o" > .< / span > < span class = "vm" > __name__< / span >
< span class = "c1" > # Make sure it' s actually there and not an inner class< / span >
< span class = "n" > module< / span > < span class = "o" > =< / span > < span class = "n" > import_module< / span > < span class = "p" > (< / span > < span class = "n" > module_name< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > hasattr< / span > < span class = "p" > (< / span > < span class = "n" > module< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ):< / span >
< span class = "k" > raise< / span > < span class = "ne" > ValueError< / span > < span class = "p" > (< / span >
< span class = "s2" > " Could not find manager < / span > < span class = "si" > %s< / span > < span class = "s2" > in < / span > < span class = "si" > %s< / span > < span class = "s2" > .< / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span >
< span class = "s2" > " Please note that you need to inherit from managers you " < / span >
< span class = "s2" > " dynamically generated with ' from_queryset()' ." < / span >
< span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > module_name< / span > < span class = "p" > )< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span >
< span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "c1" > # as_manager< / span >
< span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > .< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > module_name< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ),< / span > < span class = "c1" > # manager_class< / span >
< span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "c1" > # qs_class< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _constructor_args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "c1" > # args< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _constructor_args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "c1" > # kwargs< / span >
< span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > check< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > []< / span >
< span class = "nd" > @classmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _get_queryset_methods< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > queryset_class< / span > < span class = "p" > ):< / span >
< span class = "k" > def< / span > < span class = "nf" > create_method< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > method< / span > < span class = "p" > ):< / span >
2023-12-02 22:36:16 +00:00
< span class = "nd" > @wraps< / span > < span class = "p" > (< / span > < span class = "n" > method< / span > < span class = "p" > )< / span >
2022-11-14 22:43:45 +01:00
< span class = "k" > def< / span > < span class = "nf" > manager_method< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > get_queryset< / span > < span class = "p" > (),< / span > < span class = "n" > name< / span > < span class = "p" > )(< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "n" > manager_method< / span >
< span class = "n" > new_methods< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< span class = "k" > for< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > method< / span > < span class = "ow" > in< / span > < span class = "n" > inspect< / span > < span class = "o" > .< / span > < span class = "n" > getmembers< / span > < span class = "p" > (< / span >
< span class = "n" > queryset_class< / span > < span class = "p" > ,< / span > < span class = "n" > predicate< / span > < span class = "o" > =< / span > < span class = "n" > inspect< / span > < span class = "o" > .< / span > < span class = "n" > isfunction< / span >
< span class = "p" > ):< / span >
< span class = "c1" > # Only copy missing methods.< / span >
< span class = "k" > if< / span > < span class = "nb" > hasattr< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ):< / span >
< span class = "k" > continue< / span >
< span class = "c1" > # Only copy public methods or methods with the attribute< / span >
< span class = "c1" > # queryset_only=False.< / span >
< span class = "n" > queryset_only< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > method< / span > < span class = "p" > ,< / span > < span class = "s2" > " queryset_only" < / span > < span class = "p" > ,< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > queryset_only< / span > < span class = "ow" > or< / span > < span class = "p" > (< / span > < span class = "n" > queryset_only< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "ow" > and< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > startswith< / span > < span class = "p" > (< / span > < span class = "s2" > " _" < / span > < span class = "p" > )):< / span >
< span class = "k" > continue< / span >
< span class = "c1" > # Copy the method onto the manager.< / span >
< span class = "n" > new_methods< / span > < span class = "p" > [< / span > < span class = "n" > name< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > create_method< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > method< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "n" > new_methods< / span >
< span class = "nd" > @classmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > from_queryset< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > queryset_class< / span > < span class = "p" > ,< / span > < span class = "n" > class_name< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > class_name< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > class_name< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > From< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "vm" > __name__< / span > < span class = "p" > ,< / span > < span class = "n" > queryset_class< / span > < span class = "o" > .< / span > < span class = "vm" > __name__< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span >
< span class = "n" > class_name< / span > < span class = "p" > ,< / span >
< span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,),< / span >
< span class = "p" > {< / span >
< span class = "s2" > " _queryset_class" < / span > < span class = "p" > :< / span > < span class = "n" > queryset_class< / span > < span class = "p" > ,< / span >
< span class = "o" > **< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _get_queryset_methods< / span > < span class = "p" > (< / span > < span class = "n" > queryset_class< / span > < span class = "p" > ),< / span >
< span class = "p" > },< / span >
< span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > contribute_to_class< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "ow" > or< / span > < span class = "n" > name< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > model< / span > < span class = "o" > =< / span > < span class = "bp" > cls< / span >
< span class = "nb" > setattr< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > ManagerDescriptor< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ))< / span >
< span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > add_manager< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > _set_creation_counter< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2023-01-06 17:19:13 +00:00
< span class = "w" > < / span > < span class = "sd" > " " " < / span >
2022-11-14 22:43:45 +01:00
< span class = "sd" > Set the creation counter value for this instance and increment the< / span >
< span class = "sd" > class-level copy.< / span >
< span class = "sd" > " " " < / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > creation_counter< / span > < span class = "o" > =< / span > < span class = "n" > BaseManager< / span > < span class = "o" > .< / span > < span class = "n" > creation_counter< / span >
< span class = "n" > BaseManager< / span > < span class = "o" > .< / span > < span class = "n" > creation_counter< / span > < span class = "o" > +=< / span > < span class = "mi" > 1< / span >
< span class = "k" > def< / span > < span class = "nf" > db_manager< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > using< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > hints< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "n" > copy< / span > < span class = "o" > .< / span > < span class = "n" > copy< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span >
< span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > _db< / span > < span class = "o" > =< / span > < span class = "n" > using< / span > < span class = "ow" > or< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _db< / span >
< span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > _hints< / span > < span class = "o" > =< / span > < span class = "n" > hints< / span > < span class = "ow" > or< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hints< / span >
< span class = "k" > return< / span > < span class = "n" > obj< / span >
< span class = "nd" > @property< / span >
< span class = "k" > def< / span > < span class = "nf" > db< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _db< / span > < span class = "ow" > or< / span > < span class = "n" > router< / span > < span class = "o" > .< / span > < span class = "n" > db_for_read< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > model< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hints< / span > < span class = "p" > )< / span >
< span class = "c1" > #######################< / span >
< span class = "c1" > # PROXIES TO QUERYSET #< / span >
< span class = "c1" > #######################< / span >
< span class = "k" > def< / span > < span class = "nf" > get_queryset< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2023-01-06 17:19:13 +00:00
< span class = "w" > < / span > < span class = "sd" > " " " < / span >
2022-11-14 22:43:45 +01:00
< span class = "sd" > Return a new QuerySet object. Subclasses can override this method to< / span >
< span class = "sd" > customize the behavior of the Manager.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _queryset_class< / span > < span class = "p" > (< / span > < span class = "n" > model< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > model< / span > < span class = "p" > ,< / span > < span class = "n" > using< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _db< / span > < span class = "p" > ,< / span > < span class = "n" > hints< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hints< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > all< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "c1" > # We can' t proxy this method through the `QuerySet` like we do for the< / span >
< span class = "c1" > # rest of the `QuerySet` methods. This is because `QuerySet.all()`< / span >
< span class = "c1" > # works by creating a " copy" of the current queryset and in making said< / span >
< span class = "c1" > # copy, all the cached `prefetch_related` lookups are lost. See the< / span >
< span class = "c1" > # implementation of `RelatedManager.get_queryset()` for a better< / span >
< span class = "c1" > # understanding of how this comes into play.< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > get_queryset< / span > < span class = "p" > ()< / span >
< span class = "k" > def< / span > < span class = "fm" > __eq__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span >
< span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "vm" > __class__< / span > < span class = "p" > )< / span >
< span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _constructor_args< / span > < span class = "o" > ==< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _constructor_args< / span >
< span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "fm" > __hash__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > id< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span >
< span class = "k" > class< / span > < span class = "nc" > Manager< / span > < span class = "p" > (< / span > < span class = "n" > BaseManager< / span > < span class = "o" > .< / span > < span class = "n" > from_queryset< / span > < span class = "p" > (< / span > < span class = "n" > QuerySet< / span > < span class = "p" > )):< / span >
< span class = "k" > pass< / span >
< span class = "k" > class< / span > < span class = "nc" > ManagerDescriptor< / span > < span class = "p" > :< / span >
< span class = "k" > def< / span > < span class = "fm" > __init__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > manager< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > manager< / span > < span class = "o" > =< / span > < span class = "n" > manager< / span >
< span class = "k" > def< / span > < span class = "fm" > __get__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > instance< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > instance< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "k" > raise< / span > < span class = "ne" > AttributeError< / span > < span class = "p" > (< / span >
< span class = "s2" > " Manager isn' t accessible via < / span > < span class = "si" > %s< / span > < span class = "s2" > instances" < / span > < span class = "o" > %< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "vm" > __name__< / span >
< span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > abstract< / span > < span class = "p" > :< / span >
< span class = "k" > raise< / span > < span class = "ne" > AttributeError< / span > < span class = "p" > (< / span >
< span class = "s2" > " Manager isn' t available; < / span > < span class = "si" > %s< / span > < span class = "s2" > is abstract" < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > object_name< / span > < span class = "p" > ,)< / span >
< span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > swapped< / span > < span class = "p" > :< / span >
< span class = "k" > raise< / span > < span class = "ne" > AttributeError< / span > < span class = "p" > (< / span >
< span class = "s2" > " Manager isn' t available; ' < / span > < span class = "si" > %s< / span > < span class = "s2" > ' has been swapped for ' < / span > < span class = "si" > %s< / span > < span class = "s2" > ' " < / span >
< span class = "o" > %< / span > < span class = "p" > (< / span >
< span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > label< / span > < span class = "p" > ,< / span >
< span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > swapped< / span > < span class = "p" > ,< / span >
< span class = "p" > )< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > _meta< / span > < span class = "o" > .< / span > < span class = "n" > managers_map< / span > < span class = "p" > [< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > manager< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ]< / span >
< span class = "k" > class< / span > < span class = "nc" > EmptyManager< / span > < span class = "p" > (< / span > < span class = "n" > Manager< / span > < span class = "p" > ):< / span >
< span class = "k" > def< / span > < span class = "fm" > __init__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > model< / span > < span class = "p" > ):< / span >
< span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "fm" > __init__< / span > < span class = "p" > ()< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > model< / span > < span class = "o" > =< / span > < span class = "n" > model< / span >
< span class = "k" > def< / span > < span class = "nf" > get_queryset< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > get_queryset< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > none< / span > < span class = "p" > ()< / span >
< / pre > < / div >
< / div >
< / div >
< / div >
< / div >
< div class = "related" role = "navigation" aria-label = "related navigation" >
< h3 > Navigation< / h3 >
< ul >
< li class = "right" style = "margin-right: 10px" >
< a href = "../../../../genindex.html" title = "General Index"
>index< / a > < / li >
< li class = "right" >
< a href = "../../../../py-modindex.html" title = "Python Module Index"
>modules< / a > |< / li >
2023-10-19 20:22:27 +00:00
< li class = "nav-item nav-item-0" > < a href = "../../../../index.html" > Evennia 2.x< / a > » < / li >
2022-11-14 22:43:45 +01:00
< li class = "nav-item nav-item-1" > < a href = "../../../index.html" > Module code< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > django.db.models.manager< / a > < / li >
< / ul >
< / div >
2023-10-19 20:22:27 +00:00
2022-11-14 22:43:45 +01:00
< div class = "footer" role = "contentinfo" >
2023-10-19 20:22:27 +00:00
© Copyright 2023, The Evennia developer community.
2022-11-14 22:43:45 +01:00
Created using < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > 3.2.1.
< / div >
< / body >
< / html >