django-simple-history only works in the admin interface

52 Views Asked by At

I am trying to get django-simple-history to work. It does work in the admin interface but not in my view code. I recreated the sample but it does not work for me.

Models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    history = HistoricalRecords()


class Choice(models.Model):
    poll = models.ForeignKey(Poll, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
    history = HistoricalRecords()

view:

def main_view(request):
    p = Poll.objects.first()
    p.question = 'Test'
    p.save()
    return HttpResponse('done')

It won't create a history entry when i call the view. If u change it in the admin interface i do get a changed entry.

Does anyone know what i am doing wrong.

Using:

Django==4.2.6
django-simple-history==3.4.0

I tried different orders

Settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'simple_history',
    'testHistory',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'simple_history.middleware.HistoryRequestMiddleware',
]
0

There are 0 best solutions below