django-ldaporm

Overview

  • Quickstart Guide
    • Installation
    • Configuration
    • Creating Your First Model
    • Basic Usage
    • Using with Django Forms
    • Using with Django Admin
    • Advanced Features
      • Active Directory Timestamps
      • Multi-valued Attributes
    • Next Steps
  • Installation Guide
    • Requirements
    • Installing django-ldaporm
    • Django Configuration
    • LDAP Server Configuration
    • Troubleshooting
      • Common Installation Issues
    • Testing Your Installation
    • Next Steps
  • Configuration Guide
    • Basic Configuration
    • Server Configuration Options
      • URL Configuration
    • Advanced Configuration
      • Connection Options
      • TLS Configuration
      • Search Options
    • Multiple Server Configuration
    • Security Considerations
    • Troubleshooting Configuration
  • Models Guide
    • Creating LDAP Models
    • Model Meta Options
    • Field Types
      • Basic Fields
      • Multi-valued Fields
      • Active Directory Fields
    • Field Options
      • Field Configuration
      • Field Validation
    • Model Methods
      • Custom Methods
      • Model Validation
    • Inheritance
      • Model Inheritance
    • Best Practices
      • Naming Conventions
      • Performance Considerations
      • Security
      • Error Handling
    • Example: Complete User Management Model
  • Fields Guide
    • Field Types Overview
      • Field names and LDAP attribute names
      • Field Arguments
    • Basic Field Types
      • CharField
      • EmailField
      • BooleanField
      • IntegerField
      • DateTimeField
      • DateField
      • BinaryField
    • Multi-valued Fields
      • CharListField
      • IntegerListField
    • Active Directory Fields
      • ActiveDirectoryTimestampField
    • Field Options
      • Common Field Parameters
      • Field Validation
    • Custom Field Types
      • Creating Custom Fields
      • Field Inheritance
    • Field Conversion Examples
      • LDAP to Python Conversion
      • Python to LDAP Conversion
    • Best Practices
      • Field Naming
      • Validation
    • Example: Complete Field Usage
  • Managers Guide
    • Overview
    • What’s New (2025)
      • Subclassing
    • Basic Usage
      • Querying Objects
    • Filtering
      • Basic Filtering
      • Excluding Objects
      • Field Lookups
      • Complex Queries
      • Debugging the actual LDAP query
    • Ordering
    • Limiting Results
    • LDAP Paging
      • Basic Paging
      • PagedResultSet
      • Complete Paging Example
      • Paging with Filters
      • Direct LDAP Paging
      • REST Framework Integration
      • Benefits of Paging
    • Limiting the attributes returned
    • Getting values instead of objects
    • Object Lifecycle
      • Create new LDAP objects
      • Modifying Existing Objects
      • Deleting Objects
    • DN management
    • Authentication and Password Management
    • Connection Management
    • Performance Optimization
      • Indexing
      • Caching
      • Selective Field Loading
    • Error Handling
    • Example: Complete User Management
  • Model Construction and Implementation
    • Overview
    • Model Construction Process
    • Field Registration Process
    • Meta Class Processing
    • Comparison with Django’s Model Construction
    • Field Contribution Process
    • Manager Setup
    • Conclusion

REST Framework Integration

  • Django REST Framework Integration
    • Overview
    • Best Practices
    • Complete Example
  • Django REST Framework: Serializers
    • LdapModelSerializer
      • Basic Usage
      • Field Type Support
      • API Response Format
    • HyperlinkedModelSerializer
      • Features
      • Basic Usage
      • Configuration Options
        • Meta Options
        • Example with Relationships
        • Using extra_kwargs for Custom Configuration
      • Relationship Detection
        • Automatic Detection
        • Explicit Configuration
      • API Response Format
        • Single Object
        • List Response (Paged)
    • Migration from LdapModelSerializer
    • Advanced Features
      • Custom Field Mapping
      • Custom Relationship Resolution
    • Error Handling
  • Django REST Framework: Paging
    • LDAP Paging
      • Why Use LDAP Paging?
      • LdapCursorPagination
        • Basic Usage
        • Global Configuration
        • API Response Format
        • Query Parameters
        • Example Requests
        • Paging with Filters
        • Best Practices
  • Django REST Framework: Ordering
    • Overview
    • Basic Usage
    • Configuration Options
      • ordering_fields
      • ordering
      • ordering_param
    • API Usage
      • Single Field Ordering
      • Multiple Field Ordering
      • Combining with Other Filters
    • Error Handling
      • Invalid Field Names
      • Empty or Invalid Parameters
    • Integration Examples
      • With Django Filter
      • With Custom Filter Backends
    • Performance Considerations
      • Server-Side Sorting
      • Client-Side Sorting
      • Pagination with Ordering
    • Best Practices
    • Example Complete Implementation
  • Django REST Framework: ViewSets
    • URL Configuration
      • Django URLs
      • ViewSet Example
    • Filter Backend Configuration
      • Field Configuration
      • Supported Lookup Types
      • Supported Field Types
      • API Usage Examples
      • Advanced Filter Backend
      • OpenAPI Documentation
      • Example Response

django-wildewidgets Integration

  • django-wildewidgets Integration
    • Overview
    • Basic Usage
    • Configuration Options
    • Complete Example
    • Performance Considerations
    • Error Handling

Reference

  • Models API Reference
    • Model Classes
      • Model
        • Model.DoesNotExist
        • Model.InvalidField
        • Model.MultipleObjectsReturned
        • Model.__eq__
        • Model.__hash__
        • Model.__init__
        • Model.__repr__
        • Model.__str__
        • Model.clean
        • Model.clean_fields
        • Model.delete
        • Model.from_db
        • Model.full_clean
        • Model.get_password_hash
        • Model.save
        • Model.to_db
        • Model.validate_unique
        • Model.dn
        • Model.objects
        • Model.pk
      • LdapModelBase
        • LdapModelBase.__new__
        • LdapModelBase.add_to_class
  • Fields API Reference
    • Field Classes
      • Field
        • Field.__init__
        • Field.check
        • Field.clean
        • Field.contribute_to_class
        • Field.formfield
        • Field.from_db_value
        • Field.get_choices
        • Field.get_default
        • Field.has_default
        • Field.limit_choices_to
        • Field.pre_save
        • Field.run_validators
        • Field.save_form_data
        • Field.set_attributes_from_name
        • Field.to_db_value
        • Field.to_python
        • Field.validate
        • Field.value_from_object
        • Field.value_to_string
        • Field.creation_counter
        • Field.default_error_messages
        • Field.default_validators
        • Field.description
        • Field.empty_strings_allowed
        • Field.empty_values
        • Field.flatchoices
        • Field.hidden
        • Field.ldap_attribute
        • Field.many_to_many
        • Field.many_to_one
        • Field.one_to_many
        • Field.one_to_one
        • Field.related_model
        • Field.validators
      • CharField
        • CharField.__init__
        • CharField.formfield
        • CharField.from_db_value
        • CharField.to_python
        • CharField.description
      • EmailField
        • EmailField.__init__
        • EmailField.formfield
        • EmailField.default_validators
        • EmailField.description
      • BooleanField
        • BooleanField.__init__
        • BooleanField.formfield
        • BooleanField.from_db_value
        • BooleanField.to_db_value
        • BooleanField.to_python
        • BooleanField.LDAP_FALSE
        • BooleanField.LDAP_TRUE
        • BooleanField.default_error_messages
        • BooleanField.description
        • BooleanField.empty_strings_allowed
      • AllCapsBooleanField
        • AllCapsBooleanField.LDAP_FALSE
        • AllCapsBooleanField.LDAP_TRUE
      • IntegerField
        • IntegerField.check
        • IntegerField.formfield
        • IntegerField.from_db_value
        • IntegerField.to_db_value
        • IntegerField.to_python
        • IntegerField.default_error_messages
        • IntegerField.description
        • IntegerField.empty_strings_allowed
      • DateTimeField
        • DateTimeField.formfield
        • DateTimeField.from_db_value
        • DateTimeField.pre_save
        • DateTimeField.to_db_value
        • DateTimeField.to_python
        • DateTimeField.LDAP_DATETIME_FORMAT
        • DateTimeField.LDAP_DATETIME_FORMATS
        • DateTimeField.default_error_messages
        • DateTimeField.description
        • DateTimeField.empty_strings_allowed
      • DateField
        • DateField.__init__
        • DateField.check
        • DateField.contribute_to_class
        • DateField.formfield
        • DateField.from_db_value
        • DateField.pre_save
        • DateField.to_db_value
        • DateField.to_python
        • DateField.value_to_string
        • DateField.LDAP_DATETIME_FORMAT
        • DateField.default_error_messages
        • DateField.description
        • DateField.empty_strings_allowed
      • BinaryField
        • BinaryField.check
        • BinaryField.formfield
        • BinaryField.from_db_value
        • BinaryField.to_db_value
        • BinaryField.to_python
        • BinaryField.default_error_messages
        • BinaryField.description
        • BinaryField.empty_strings_allowed
      • CharListField
        • CharListField.__init__
        • CharListField.formfield
        • CharListField.from_db_value
        • CharListField.get_default
        • CharListField.to_python
        • CharListField.description
      • ActiveDirectoryTimestampField
        • ActiveDirectoryTimestampField.from_db_value
        • ActiveDirectoryTimestampField.to_db_value
        • ActiveDirectoryTimestampField.to_python
        • ActiveDirectoryTimestampField.AD_EPOCH
        • ActiveDirectoryTimestampField.INTERVALS_PER_DAY
        • ActiveDirectoryTimestampField.INTERVALS_PER_SECOND
        • ActiveDirectoryTimestampField.default_error_messages
        • ActiveDirectoryTimestampField.description
  • Managers API Reference
    • Manager Classes
      • LdapManager
        • LdapManager.__init__
        • LdapManager.add
        • LdapManager.all
        • LdapManager.as_list
        • LdapManager.authenticate
        • LdapManager.connect
        • LdapManager.contribute_to_class
        • LdapManager.count
        • LdapManager.create
        • LdapManager.delete
        • LdapManager.delete_obj
        • LdapManager.disconnect
        • LdapManager.dn
        • LdapManager.exclude
        • LdapManager.filter
        • LdapManager.first_or_none
        • LdapManager.get
        • LdapManager.get_by_dn
        • LdapManager.get_dn
        • LdapManager.get_or_none
        • LdapManager.has_connection
        • LdapManager.modify
        • LdapManager.new_connection
        • LdapManager.only
        • LdapManager.order_by
        • LdapManager.page
        • LdapManager.remove_connection
        • LdapManager.rename
        • LdapManager.reset_password
        • LdapManager.search
        • LdapManager.search_page
        • LdapManager.set_connection
        • LdapManager.values
        • LdapManager.values_list
        • LdapManager.wildcard
        • LdapManager.connection
      • F
        • F.NoFilterSpecified
        • F.UnboundFilter
        • F.UnknownSuffix
        • F.__init__
        • F.all
        • F.as_list
        • F.bind_manager
        • F.count
        • F.delete
        • F.exclude
        • F.exists
        • F.filter
        • F.first
        • F.first_or_none
        • F.get
        • F.get_attribute
        • F.get_or_none
        • F.only
        • F.order_by
        • F.page
        • F.update
        • F.values
        • F.values_list
        • F.wildcard
      • Modlist
        • Modlist.__init__
        • Modlist.add
        • Modlist.update
    • Decorators
      • atomic
      • substitute_pk
      • needs_pk
  • Options API Reference
    • Options Classes
      • Options
        • Options.__init__
        • Options.add_field
        • Options.contribute_to_class
        • Options.get_field
        • Options.get_fields
        • Options.setup_pk
        • Options.attribute_to_field_name_map
        • Options.attributes
        • Options.attributes_map
        • Options.base_manager
        • Options.basedn
        • Options.concrete_fields
        • Options.concrete_model
        • Options.default_permissions
        • Options.extra_objectclasses
        • Options.fields
        • Options.fields_map
        • Options.label
        • Options.label_lower
        • Options.ldap_options
        • Options.ldap_server
        • Options.local_fields
        • Options.local_many_to_many
        • Options.manager_class
        • Options.many_to_many
        • Options.meta
        • Options.model_name
        • Options.object_name
        • Options.objectclass
        • Options.ordering
        • Options.password_attribute
        • Options.permissions
        • Options.pk
        • Options.private_fields
        • Options.userid_attribute
        • Options.verbose_name
        • Options.verbose_name_plural
        • Options.verbose_name_raw
  • Forms API Reference
    • Form Widgets
      • CharListWidget
        • CharListWidget.render
        • CharListWidget.is_hidden
        • CharListWidget.media
      • CharListField
        • CharListField.widget
        • CharListField.run_validators
        • CharListField.to_python
        • CharListField.widget_attrs
        • CharListField.empty_values
  • REST Framework API Reference
    • Classes
  • Wildewidgets Integration Reference
    • Classes
      • LdapModelTableMixin
        • LdapModelTableMixin.search
        • LdapModelTableMixin.search_query
        • LdapModelTableMixin.model

Runbook

  • Development Guide
    • Setting Up the Development Environment
    • Code Style and Standards
      • Code Formatting
      • Type Checking
      • Linting
    • Testing
    • Documentation
    • Adding New Features
    • Release Process
    • Contributing Guidelines
    • Getting Help
  • Testing Guide
    • Prerequisites
    • Test Structure
    • Core Library Tests
      • Running Core Tests
    • Demo Application Tests
      • Running Demo Tests
    • Integration Tests
      • Setting Up Test LDAP Server
      • Running Integration Tests
    • Test Configuration
    • Writing Tests
      • Test Structure
      • Field Tests
      • Model Tests
      • REST Framework Tests
      • Demo Application Tests
    • Test Data Management
      • Fixtures
      • Mock LDAP Data
      • Test Database Setup
    • Continuous Integration
      • CI Configuration
      • Local CI Simulation
    • Troubleshooting
      • LDAP Connection Issues
      • Test Isolation Issues
      • Performance Issues
    • Best Practices
    • Example Test Suite
  • Running the Demo Application
    • Prerequisites
    • Demo Overview
    • Demo Architecture
    • Quick Start with Docker
    • Docker Services
    • Configuration
    • Demo Features
    • API Endpoints
    • Example API Usage
    • Troubleshooting
    • Development Workflow
    • Performance Tuning
    • Security Considerations
    • Cleanup
django-ldaporm
  • Search


© Copyright Caltech IMSS ADS.