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
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