mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
Closes #8470: Expose NetBoxTable in the plugins framework
This commit is contained in:
parent
59d3f5c4ea
commit
3c1ea5d0fb
37
docs/plugins/development/tables.md
Normal file
37
docs/plugins/development/tables.md
Normal file
@ -0,0 +1,37 @@
|
||||
# Tables
|
||||
|
||||
NetBox employs the [`django-tables2`](https://django-tables2.readthedocs.io/) library for rendering dynamic object tables. These tables display lists of objects, and can be sorted and filtered by various parameters.
|
||||
|
||||
## NetBoxTable
|
||||
|
||||
To provide additional functionality beyond what is supported by the stock `Table` class in `django-tables2`, NetBox provides the `NetBoxTable` class. This custom table class includes support for:
|
||||
|
||||
* User-configurable column display and ordering
|
||||
* Custom field & custom link columns
|
||||
* Automatic prefetching of related objects
|
||||
|
||||
It also includes several default columns:
|
||||
|
||||
* `pk` - A checkbox for selecting the object associated with each table row
|
||||
* `id` - The object's numeric database ID, as a hyperlink to the object's view
|
||||
* `actions` - A dropdown menu presenting object-specific actions available to the user.
|
||||
|
||||
### Example
|
||||
|
||||
```python
|
||||
# tables.py
|
||||
import django_tables2 as tables
|
||||
from netbox.tables import NetBoxTable
|
||||
from .models import MyModel
|
||||
|
||||
class MyModelTable(NetBoxTable):
|
||||
name = tables.Column(
|
||||
linkify=True
|
||||
)
|
||||
...
|
||||
|
||||
class Meta(NetBoxTable.Meta):
|
||||
model = MyModel
|
||||
fields = ('pk', 'id', 'name', ...)
|
||||
default_columns = ('pk', 'name', ...)
|
||||
```
|
@ -102,9 +102,10 @@ nav:
|
||||
- Using Plugins: 'plugins/index.md'
|
||||
- Developing Plugins:
|
||||
- Getting Started: 'plugins/development/index.md'
|
||||
- Database Models: 'plugins/development/models.md'
|
||||
- Models: 'plugins/development/models.md'
|
||||
- Views: 'plugins/development/views.md'
|
||||
- Filtersets: 'plugins/development/filtersets.md'
|
||||
- Tables: 'plugins/development/tables.md'
|
||||
- Filter Sets: 'plugins/development/filtersets.md'
|
||||
- REST API: 'plugins/development/rest-api.md'
|
||||
- Background Tasks: 'plugins/development/background-tasks.md'
|
||||
- Administration:
|
||||
|
Loading…
Reference in New Issue
Block a user