get rid of example.com for Django's default site

Suppose you have the following model:

class MyModel(models.Model):
    def get_absolute_url(self, *args, **kwargs):
        return '/show/%s' % self.pk

The "View on site" button on admin will always take you to example.com, which is bullshit.

Even if you override it with ABSOLUTE_URL_OVERRIDES in settings.py.

The solution is to fuck Django's default Site in your models.py:

from django.contrib.sites import models as SiteModels
SiteModels.Site._meta.installed = False

Comments