簡體   English   中英

Django管理員StackedInline定制

[英]Django admin StackedInline customisation

我有一個Django書籍數據庫,附帶交易。 在管理界面中,在每個書頁上,我想顯示每本書附帶的交易。

理想情況下,這應該是只讀的,無法添加或刪除事務。 我只想展示一些模特的字段。

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 - 並隱藏其他字段?

另外:標題當前是“Book History - Transaction:Transaction object”。 如何展示比“交易對象”更友好的東西?

如果這應該分成單獨的問題,請告訴我!

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM