| 1 | +++ django/docs/admin.txt Fri Aug 01 16:02:13 2008
|
|---|
| 2 | @@ -486,6 +486,35 @@
|
|---|
| 3 | Performs a full-text match. This is like the default search method but uses
|
|---|
| 4 | an index. Currently this is only available for MySQL.
|
|---|
| 5 |
|
|---|
| 6 | +``ModelAdmin`` methods
|
|---|
| 7 | +------------------------
|
|---|
| 8 | +
|
|---|
| 9 | +ModelAdmin subclasses can redefine specific methods in order to customize even more the admin site :
|
|---|
| 10 | +
|
|---|
| 11 | +``dynamic_XXX_choices``
|
|---|
| 12 | +~~~~~~~~~~~~~~~~~~~~~~~~~
|
|---|
| 13 | +
|
|---|
| 14 | +the ``dynamic_XXX_choices`` method, where XXX is a ForeignKey or ManyToMany field of your model, allows the admin site to filter the available choices for that field.
|
|---|
| 15 | +
|
|---|
| 16 | +An example usage of it is ::
|
|---|
| 17 | +
|
|---|
| 18 | + # Model
|
|---|
| 19 | +
|
|---|
| 20 | + class Book(models.Model):
|
|---|
| 21 | + title = models.CharField(maxlength=100)
|
|---|
| 22 | + author = models.ForeignKey(Author)
|
|---|
| 23 | +
|
|---|
| 24 | + # Admin
|
|---|
| 25 | +
|
|---|
| 26 | + class BookAdmin(ModelAdmin):
|
|---|
| 27 | + def dynamic_author_choices(self, request, model):
|
|---|
| 28 | + # Default implementation:
|
|---|
| 29 | + # return book.author_set.all()
|
|---|
| 30 | + if request.user.is_superuser:
|
|---|
| 31 | + return model.objects.all()
|
|---|
| 32 | + return model.objects.filter(use_in_admin=True)
|
|---|
| 33 | +
|
|---|
| 34 | +
|
|---|
| 35 | ``ModelAdmin`` media definitions
|
|---|
| 36 | --------------------------------
|
|---|
| 37 |
|
|---|