每当我用对象B的外键编辑对象A时,对象B的选项旁边就会出现加号选项"添加另一个".如何删除该选项?
我配置了一个没有添加对象B权限的用户.加号仍然可用,但是当我点击它时,它会显示"权限被拒绝".它很丑.
我正在使用Django 1.0.2
我有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.")
Run Code Online (Sandbox Code Playgroud)
它们设置为editable = False,因为此模型仅由代码编辑.
例如.当书籍被创建时,AmountOfBooks中该书籍的对象被设置为0,并且当添加书籍或取得平衡时,可以增加或减少余额.
因此,当我点击Django管理员中的"添加书籍数量"按钮时,不会显示AmountOfBooks模型的字段.
但是我想从Django管理员那里删除那个按钮,只为AmountOfBooks模型.
怎么做 ?
更新
关于如何在Django Admin中使Django模型只是查看(只读)的问题可以继续吗?
我在实现(可能)相当简单的任务时遇到了问题.我有完全可修改的模型(Prodotto,Comune),它们显示为"可添加"字段,如下图所示.我不想看到的是这些字段的+(添加)按钮,因此删除了这种形式的"可添加"的适当性.我已经尝试在两个模型中设置has_add_permission = False,但是这会使得完全向这些模型添加新对象变得不可能,不仅仅是以这种形式.
我怎样才能做到这一点?
编辑:为了澄清我的需要,我不希望在FK模型的字段旁边有"+",但我仍然希望能够添加全新的内联.尽可能清楚,正如我在评论中所写,考虑这样的场景:https://code.djangoproject.com/attachment/ticket/20367/django_custom_user_admin_form.png我只需要"+"s "组和国家/地区"旁边已删除
现有代码:
models.py(涉及的具体应用):
from django.db import models
from smart_selects.db_fields import ChainedForeignKey
from apps.comune.models import Comune, Cap
class Prodotto(models.Model):
SETTORE_CHOICES = (
('CAL', 'Accessori calzature'),
('ALI', 'Alimentari'),
('ARA', 'Arredamenti e accessori'),
('AEM', 'Auto e moto'),
('CAL', 'Calzature'),
('CEG', 'Cartaria e grafica'),
('CEP', 'Concerie e pelletterie'),
('EDI', 'Edilizia'),
('INV', 'Industrie varie'),
('IST', 'Istruzione'),
('MDC', 'Materiali da costruzione'),
('MMC', 'Metalmeccanica'),
('SEI', 'Serramenti e infissi'),
('STM', 'Strumenti musicali'),
('TEI', …Run Code Online (Sandbox Code Playgroud) 有没有办法删除Django管理网站上的"添加"功能?对于某些实体,我只希望Django管理员能够查看或更改现有实体,但不能添加新实体.