2

Django 1.11.28

I have multiple admin views for my Car model as described in Multiple ModelAdmins/views for same model in Django admin

car/models.py

class Car(models.model):
    ...
    
class ProxySportCar(Car):
    class Meta:
        proxy = True
        
class ProxyLuxuryCar(Car):
    class Meta:
        proxy = True


car/admin.py

class CarAdmin(admin.ModelAdmin):
    ...

admin.site.register(Car, CarAdmin)


class ProxySportCarAdmin(CarAdmin):
    model = ProxySportCar
    ...

admin.site.register(ProxySportCar, ProxySportCarAdmin)

class ProxyLuxuryCarAdmin(CarAdmin):
    model = ProxyLuxuryCar
    ...

admin.site.register(ProxyLuxuryCar, ProxyLuxuryCarAdmin)

My problem is that when i use reverse, Django will return one random admin path amongst the model and proxy ones.

from django.core.urlresolvers import reverse
 
reverse("admin:admin_car", kwargs={"car_id": Car.objects.last().pk})
# Return one of :
# u'/admin/car/car/710178/'
# u'/admin/car/proxysportcar/710178/'
# u'/admin/car/proxyluxurycar/710178/'

Is it possible to keep the proxy admin views while having reverse always return the base admin path (ie /admin/car/car/ in my case) ?

kraymer
  • 3,254
  • 1
  • 24
  • 32

0 Answers0