A Django app to allow for readonly admin inlines without relationship to the base model
Project description
Django Simulated Inlines
Description
This package extends the ModelAdmin interface with the possibility to create custom inlines that can contain a list of any Model instances, the relationship with the base change_form is not needed.
Features
- inlines can be collapsed
- supports inline subtitles
- pagination
- custom links for any inline cell
- dynamic fields
- action buttons
Installation
- Install:
pip install django_simulated_inlines
- add to INSTALLED_APPS:
INSTALLED_APPS = [
...
'django_simulated_inlines',
]
How to Use
- Import the ModelAdmin and Inline classes
from django_simulated_inlines.admin import SimulatedInline, SimulatedInlinesModelAdmin
- Declarating inlines:
class ExampleInline(SimulatedInline):
model = ExampleModel
verbose_name = _("example")
verbose_name_plural = _("examples")
per_page = 20
buttons = ("example_button", )
collapse = True
fields = (
"id"
("custom_link", "/admin/custom/link/%s/"),
"custom_field",
)
def custom_field(self, obj):
"""The return of this function is the value on the field cell"""
return f"Custom field for {self.field}"
custom_field.short_description = _("custom field")
def example_button(self, request, object_id):
"""This function is called when the button is pressed"""
execute_code()
example_button.short_description = _("Execute example button")
def get_subtitle(self, request, object_id):
"""Override this to define a subtitle for the inline"""
return "this is a subtitle"
def get_queryset(self, request, object_id, parent_queryset):
"""Override this to filter or customize de queryset"""
return self.model.objects.filter(x=object_id).all()
- Add the inlines to the
SimulatedInlinesModelAdmin.simulated_inlines
.
class ExampleModelAdmin(SimulatedInlinesModelAdmin):
simulated_inlines = [ExampleSimulatedInline]
Requirements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django_simulated_inlines-0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80f28f624d1abfc4463286ea0410905b6fa70ed546c7ce8c9d66dd21f3ab61ce |
|
MD5 | 40146117406df3d6cf8ceb253150187f |
|
BLAKE2b-256 | 58d197d767724d0680a5e3551038e034000d568c1109d4dfcd6c7af2bd8c94ae |
Close
Hashes for django_simulated_inlines-0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d698867a3474f0229460a7137f54313d0382f49dd3063d424f0230328c74b0 |
|
MD5 | 739b8b1fd87d693fa795b110ede41662 |
|
BLAKE2b-256 | b62583298bd015c59bb85e35cd8a2de31f2473c43e7b72c5798897e425b81429 |