Администратор Django Настройка StackedInline

У меня есть база данных Django книг с прикрепленными транзакциями. В интерфейсе администратора на каждой странице книги я хотел бы показать транзакции, прикрепленные к каждой книге.

В идеале он должен быть доступен только для чтения, без возможности добавления или удаления транзакций. Хочу показать только часть модели » s.

В models.py :

class Book(models.Model):
    title = models.CharField(max_length=400)
class Transaction(models.Model):
    id = models.IntegerField(primary_key=True)
    book = models.ForeignKey(Book)
    user = models.ForeignKey(User)
    transaction_type = models.IntegerField(choices=TRANSACTION_TYPES)
    ipaddress = models.IPAddressField(null=True, blank=True)
    transaction_date = models.DateTimeField()
    date_added = models.DateTimeField(auto_now_add=True) 
    class Meta:
        get_latest_by = 'transaction_date'
        ordering = ('-transaction_date',)

В admin.py :

class TransactionInline(admin.StackedInline):
    model = Transaction
    readonly_fields = ['user', 'transaction_type', 'transaction_date']
    verbose_name = 'Transaction'
    verbose_name_plural = 'Book history'
class BookAdmin(admin.ModelAdmin):
    fieldsets = [ (None, {'fields': ['title'}) ]
    inlines = [ TransactionInline, ]

У меня есть несколько вопросов, все из которых связаны с тем, что транзакции концептуально считываются - только.

  1. Как отключить ссылку «добавить новую» для транзакций?
  2. Как я могу показать только те поля, которые мне интересны - user, transaction_type и transaction_date - и скрыть остальные?

Также: заголовок в настоящее время называется «История книги - Транзакция: объект транзакции». Как я могу показать что-то более понятное, чем «Объект транзакции»?

Пожалуйста, дайте мне знать, если это нужно разделить на отдельные вопросы!

Спасибо.

5
задан ChillarAnand 19 May 2015 в 05:22
поделиться