thanks,
max.
Hi,
You need to do two things, setup the settings module and then import the models:
# You can also set DJANGO_SETTINGS_MODULE in your shell
import os
os.environ["DJANGO_SETTINGS_MODULE"] = "myproject.settings"
import django.conf.settings
from django.models.myapp import articles
cheers,
Michael
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.
-John
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
That's exactly what we're discussing in the "validation-aware models" thread. :)
Adrian
--
Adrian Holovaty
holovaty.com | djangoproject.com | chicagocrime.org
Ack, now I see that thread :)
thanks,
Michael