On 20/02/06, John Szakmeister <[EMAIL PROTECTED]> wrote:
> One thing that I've found, at least on Django's trunk code, is that if you do
> this, validation doesn't take place when you do model.save().  I tried
> setting up a couple of fields as "required if other fields is present", and
> it happily saved the model without enforcing it.  I've also found that it
> doesn't enforce the blank=False attribute either.  I'm sure it's something
> I'm doing wrong, but just doing things the intuitive way (load the model,
> create/modify it, and then saving it) allowed me to insert data that didn't
> conform to the restrictions I had placed on the model.
>

This is true, I've encountered this as well. You do get basic database
level validation of your queries which will catch the big sillies, but
I think the validation happens using the manipulators. Just trying it
now I've gotten some mileage with this:

>>> from django.models.auth import users
>>> manipulator = users.AddManipulator()
>>> manipulator.get_validation_errors(dict(username="mtt",
first_name="Michael", last_name="Twomey", email="mtt"))
{'date_joined_date': ['This field is required.'],
 'date_joined_time': ['This field is required.'],
 'email': ['Enter a valid e-mail address.'],
 'last_login_date': ['This field is required.'],
 'last_login_time': ['This field is required.'],
 'password': ['This field is required.'],
  'username': ['User with this username already exists.']}

What would be nice is some kind of validate flag for save or the class
constructor which raised an exception with this info in it. This would
make life a little easier for scripting.

Another thing missing is logic to construct the slugs, they currently
come from the admin javascript AFAIK.

cheers,
  Michael

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers
-~----------~----~----~----~------~----~------~--~---

Reply via email to