Author Tim.Graham
Recipients Martin.Teichmann, Tim.Graham, eric.snow, gvanrossum, ncoghlan, ned.deily, python-dev
Date 2016-12-02.14:34:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1480689292.18.0.351167592748.issue23722@psf.upfronthosting.co.za>
In-reply-to
Content
Hi, this causes a regression in Django and I'm not sure if Django or cpython is at fault. For a simple model that uses super() rather than super(Model self) in save():

from django.db import models

class Model(models.Model):
    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)

>>> Model().save()
Traceback (most recent call last):
  File "/home/tim/code/mysite/model/tests.py", line 8, in test
    Model().save()
  File "/home/tim/code/mysite/model/models.py", line 5, in save
    super().save(*args, **kwargs)
RuntimeError: super(): empty __class__ cell


django.db.models.Model does some things with metaclasses which is likely related to the root cause:
https://github.com/django/django/blob/6d1394182d8c4c02598e0cf47f42a5e86706411f/django/db/models/base.py

If someone could provide guidance about what the issue might be, I'm happy to provide more details or to debug this further.

Thank you!
History
Date User Action Args
2016-12-02 14:34:52Tim.Grahamsetrecipients: + Tim.Graham, gvanrossum, ncoghlan, ned.deily, python-dev, eric.snow, Martin.Teichmann
2016-12-02 14:34:52Tim.Grahamsetmessageid: <1480689292.18.0.351167592748.issue23722@psf.upfronthosting.co.za>
2016-12-02 14:34:52Tim.Grahamlinkissue23722 messages
2016-12-02 14:34:51Tim.Grahamcreate