nlforms is "from django.contrib.localflavor.nl import forms as
nlforms"
so these are django's own forms.

But now I understand. I hadn't taken notice of the newforms-admin
branch. I noticed admin was using oldforms, but did not know what to
do about it.
I will try newforms-admin branch tonight.

If you don't hear back from me, that'll have worked :D

Thanks,

TiNo

On Jun 20, 12:53 am, "Karen Tracey" <[EMAIL PROTECTED]> wrote:
> On Thu, Jun 19, 2008 at 6:21 PM, TiNo <[EMAIL PROTECTED]> wrote:
> > Hi,
>
> > (Django version 0.97-pre-SVN-7633)
>
> > I am trying to use a custom modelfield. When I try to ad an entry in
> > the admin, i get:
>
> > ---------------------------------------------------------------
> > TypeError at /admin/klanten/klant/add/
> > __init__() got an unexpected keyword argument 'is_required'
>
> > Traceback:
> > File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
> > site-packages/django/core/handlers/base.py" in get_response
> >  82.                 response = callback(request, *callback_args,
> > **callback_kwargs)
> > File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
> > site-packages/django/contrib/admin/views/decorators.py" in _checklogin
> >  62.             return view_func(request, *args, **kwargs)
> > File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
> > site-packages/django/views/decorators/cache.py" in _wrapped_view_func
> >  44.         response = view_func(request, *args, **kwargs)
> > File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
> > site-packages/django/contrib/admin/views/main.py" in add_stage
> >  253.     manipulator = model.AddManipulator()
> > File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
> > site-packages/django/db/models/manipulators.py" in __init__
> >  70.
> > self.fields.extend(f.get_manipulator_fields(self.opts, self,
> > self.change))
> > File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
> > site-packages/django/db/models/fields/__init__.py" in
> > get_manipulator_fields
> >  352.         return [man(field_name=field_names[i], **params) for i,
> > man in enumerate(field_objs)]
>
> > Exception Type: TypeError at /admin/klanten/klant/add/
> > Exception Value: __init__() got an unexpected keyword argument
> > 'is_require
> > -------------------------------------------------------------------------
>
> > the modelfield is defined as:
>
> > -----------------------------------------------------------------------------
> > from django.db.models import *
> > from django.contrib.localflavor.nl import forms as nlforms
> > from django.core import validators
> > from django.newforms.fields import EMPTY_VALUES
> > from django.utils.encoding import smart_unicode
> > from django import oldforms
> > import re
>
> > phone_re = re.compile('^\+?\d+$')
>
> > class NLPhoneNumberField(Field):
>
> >    def get_internal_type(self):
> >        return "CharField"
>
> >    def db_type(self):
> >        return "char(16)"
>
> >    def to_python(self, value):
> >        if field_data in EMPTY_VALUES:
> >            return u''
>
> >        phone_nr = re.sub('[\-\s\(\)]', '', value)
>
> >        if not phone_re.search(p):
> >            raise validation.ValidationError('Ongeldig telefoon
> > nummer. Voer (evt. +<landcode>) 10 cijfers in.')
>
> >        if len(phone_nr) == 12:
> >            if phone_nr[:3] == '+31':
> >                phone_nr = phone_nr[3:]
> >            else:
> >                return phone_nr
> >        elif len(phone_nr) != 10:
> >            raise validation.ValidationError('Ongeldig telefoon
> > nummer. Voer (evt. +<landcode>) 10 cijfers in.')
>
> >        if phone_nr[0] == '6':
> >            return '06 ' + phone_nr[1:]
> >        else:
> >            return '%s %s' % (phone_nr[:3],phone_nr[3:])
>
> >    def get_manipulator_field_objs(self):
> >        return [nlforms.NLPhoneNumberField]
>
> >    def formfield(self, **kwargs):
> >        defaults = {'form_class': nlforms.NLPhoneNumberField,
> > 'max_length':16}
> >        defaults.update(kwargs)
> >        return super(NLPhoneNumberField, self).formfield(**defaults)
> > ------------------------------------------------------------------------
>
> > The field is then used in a model without any arguments.
>
> > The problem disappears when I change:
> > ------------------------------------------------------------------------
> >    def get_manipulator_field_objs(self):
> >        return [nlforms.NLPhoneNumberField]
> > ------------------------------------------------------------------------
> > to:
> > ------------------------------------------------------------------------
> >    def get_manipulator_field_objs(self):
> >        return [oldforms.TextField]
> > ------------------------------------------------------------------------
>
> What is nlforms.NLPhoneNumberField?  It sounds like it is a custom
> newforms-type form field to go with your model field?  But
> get_manipulator_field_objs is an oldforms-type thing and isn't going to work
> when handed a newforms custom field.
>
> Have you considered trying the newforms-admin branch?  There admin will be
> using newforms instead of oldforms so you won't have to get the oldforms
> stuff working for your custom model field, just newforms.
>
> Karen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to