我有Django模型"AmountOfBooks",它只用作Book模型的平衡.
如果这不是数据库建模的好模式,那就这么说吧.
无论如何AmountOfBooks有两个字段:
class AmountOfBooks(models.Model): book = models.ForeignKey(Book, editable=False) amount = models.PositiveIntegerField(default=0, editable=False, help_text="Amount of book.")
它们设置为editable = False,因为此模型仅由代码编辑.
例如.当书籍被创建时,AmountOfBooks中该书籍的对象被设置为0,并且当添加书籍或取得平衡时,可以增加或减少余额.
因此,当我点击Django管理员中的"添加书籍数量"按钮时,不会显示AmountOfBooks模型的字段.
但是我想从Django管理员那里删除那个按钮,只为AmountOfBooks模型.
怎么做 ?
更新
关于如何在Django Admin中使Django模型只是查看(只读)的问题可以继续吗?
这很简单,只需在Admin类中重载has_add_permission方法,如下所示:
class MyAdmin(admin.ModelAdmin): def has_add_permission(self, request): return False