Module ImportFrom alias ImportFrom alias Assign NameStore NameLoad FunctionDef arguments args defaults body Expr Str Global identifier If NameLoad body Return NameLoad ImportFrom alias Assign NameStore Call NameLoad NameLoad Str TupleLoad Str Str Str Assign NameStore Call NameLoad NameLoad Str ListLoad For NameStore Call AttributeLoad NameLoad attr body For NameStore NameLoad body Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr TupleLoad BinOpMod Str TupleLoad AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad BinOpMod Str TupleLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Return NameLoad decorator_list
N/A django.apps apps django.contrib.auth get_permission_codename N/A PERMISSIONS_LIST None get_permission_choices N/A N/A N/A N/A N/A 
        Rather than creating permissions in the datastore which is incredibly slow (and relational)
        we just use the permission codenames, stored in a ListField.
     N/A PERMISSIONS_LIST N/A PERMISSIONS_LIST N/A N/A PERMISSIONS_LIST django.conf settings N/A AUTO_PERMISSIONS N/A getattr settings AUTOGENERATED_PERMISSIONS N/A add change delete N/A result N/A getattr settings MANUAL_PERMISSIONS N/A N/A model N/A N/A apps get_models N/A N/A action AUTO_PERMISSIONS N/A N/A opts N/A model _meta N/A N/A N/A result append N/A N/A %s.%s N/A N/A opts app_label N/A get_permission_codename action opts N/A Can %s %s N/A action N/A opts verbose_name_raw N/A PERMISSIONS_LIST N/A sorted result N/A PERMISSIONS_LIST N/A