2
votes

I have a Django project that includes a model class with an optional self-referential ForeignKey field. A partial snippet:

class Site(models.model):
    name = models.CharField(max_length=100)
    parent_site = models.ForeignKey('self', null=True, blank=True)

I'm using the Django admin site to create new objects. For this class' admin form I'd like to disable the "Add another..." button next to the parent_site field (i.e. when you're creating a new site, you can't open the popup to create another new site as the parent).

I can't remove has_add_permission from the user, as they need it to be in the current add view. I don't mind removing the function from both add and change views, but limiting removal to the add view would be helpful.

I haven't been able to work out how to use the Inline field classes to achieve this, or formfield_for_foreignkey, or a custom ModelForm. Anyone got a solution more elegant than using JavaScript on a customised form template?

1

1 Answers

2
votes

no css hacks add to admin class:

max_num=0

or try this in admin.py ( for older django versions):

class MODEL_ADMIN(admin.ModelAdmin):
    class Media:
        css = {'all': ('css/no-addanother-button.css',)}