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 |
|
---|