Create a different ModelForm that contains your readonly fields (and
populate them however you want) and set this on your ModelAdmin form.

See the ModelAdmin.form option in the docs.
https://docs.djangoproject.com/en/1.2/ref/contrib/admin/#modeladmin-options




On Jun 7, 6:01 am, mf <mf2...@gmail.com> wrote:
> Let's say I've two models:
>
>     class Book(models.Model):
>         name = models.CharField(max_length=50)
>         library = models.ForeignKeyField('Library')
>
>     class Library(models.Model):
>         name = models.CharField(max_length=50)
>         address = models.CharField(max_length=50)
>         tel = models.CharField(max_length=50)
>
> Is there a nice way to add some html(a readonly input field) between
> name and address in the Library change_form template?. I'm doing it
> overriding [admin/includes/fieldset.html][1] but it's getting messy
> and I can't find a way to display the html exactly where I want to.
> For example, if I want to add html displaying the amount of books that
> the library has below the name field I woul do this:
>
>     {% for field in line %}
>         ...
>         {% if field.field.name == 'name' %}
>             {{ field.field }}
>             <div class="form-row total_books">
>                 <div>
>                     <label for="total_books">Total books:</label>
>                     <input type="text" maxlength="10" name="totbooks"
> id="totbooks" readonly="readonly">
>                 </div>
>            </div>
>         {% else %}
>             {{ field.field }}
>         {% endif %}
>         ...
>     {% endfor %}
>
>   [1]:https://code.djangoproject.com/browser/django/trunk/django/contrib/ad...

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to