Error when subclassing models.ForeignKey field

52 views
Skip to first unread message

Roman Klesel

unread,
Jan 25, 2011, 6:48:53 AM1/25/11
to django...@googlegroups.com
Hello,

I'm using a current SVN checkout of django an I'm having difficulties
creating a custom field.

class ForeignKeyAX(models.ForeignKey):
__metaclass__ = models.SubfieldBase
description = "ForeignKey field prepared for Ajax Autocompletion"

def __init__(self,*args,**kwargs):
self.kunde_rel=False
if kwargs.has_key('kunde_rel'):
self.kunde_rel = kwargs.pop('kunde_rel')
super(ForeignKeyAX, self).__init__(*args,**kwargs)

with this, I get the folowing error:

KeyError at /path//id/

'ip'

Request Method: GET
Request URL: http://localhost:8000/path/id/
Django Version: 1.3 beta 1 SVN-15308
Exception Type: KeyError
Exception Value:

'ip'

Exception Location:
/path-to_djanog/django/db/models/fields/subclassing.py in __get__,
line 96


and further down:

/home/roman/devel/django-trunk/django/db/models/fields/subclassing.py in __get__

89.
def __init__(self, field):
self.field = field

def __get__(self, obj, type=None):

if obj is None:
raise AttributeError('Can only be accessed via an instance.')

96. return obj.__dict__[self.field.name]


'ip' is not contained in obj.__dict__. Like the other foreignkey
fields its there as ip_id.

What am I doing wrong? How can I get this going?

BTW: When I ommit the line:

__metaclass__ = models.SubfieldBase

Everything works fine. But then other things I want to do like
overriding to_python will not work as far as I understand.

Please help.

Best regards
Roman

Roman Klesel

unread,
Jan 26, 2011, 12:33:10 PM1/26/11
to django...@googlegroups.com
Hello again,

since no one responded untill now, I'd like to bring this back to attention.

If no one knows an answer to my question, maybe some one could give me
some hint what I could do?

Should I open a bug report?

Thanks in advance!

Roman

roman

unread,
Jan 28, 2011, 5:46:10 AM1/28/11
to Django users


On 26 Jan., 18:33, Roman Klesel <roman.kle...@googlemail.com> wrote:

> Should I open a bug report?

That's what I just did:
http://code.djangoproject.com/ticket/15184
Reply all
Reply to author
Forward
0 new messages