On 9/14/06, Marcin Jurczuk <[EMAIL PROTECTED]> wrote:
>
> Hello,
> I'm trying to make my own validator which require access to models:
> class Network(Model):
>     city =
> CharField('Miejscowosc',maxlength=128,default='Bialystok')
>     description = CharField('Opis',maxlength=128)
>     network_ip = IPAddressField(unique=True)
>     network_prefix = CharField(maxlength=2)
>     router = IPAddressField(validator_list=[is_inside_network])
>     notice = TextField('Uwagi',blank=True,null=True)
>
>
> class Host(Model):
>     ip = IPAddressField(unique=True)
>     #ip = IPAddressField(unique=True)
>     hostname = CharField('Nazwa hosta',maxlength=128)
>     description = CharField('Opis',maxlength=255,blank=True,null=True)
>     network = ForeignKey(Network)
>     hwaddr = CharField('MAC',maxlength=17,blank=True)
>     notice = TextField('Uwagi',blank=True,null=True)
>
>
> When user adds host I'm trying to check if he choose proper network
> using such validator:
>
> # import above models
> from wfs.hnm.models import *
>
> def is_inside_chosen_network(field_data,all_data):
>     host_network=Network.objects.get(id=all_data['network'])
>     host_network_ip=host_network.network_ip
>     host_network_prefix=host_network.network_prefix
>     s=ipaddr.ip_set()
>
> s.add_network(ipaddr.network(host_network_ip,int(host_network_prefix)))
>     if not s.contains(field_data):
>         raise validators.ValidationError("Adres IP host nie nalezy do
> wybranej sieci - popraw siec lub adres IP")
>
>
> Here is error I'm getting:
> n [6]: is_inside_chosen_network("89.161.0.2",{})
> ---------------------------------------------------------------------------
> exceptions.NameError                                 Traceback (most
> recent call last)
>
> /home/spock/py/wfs/<ipython console>
>
> /home/spock/py/wfs/hnm/validators.py in
> is_inside_chosen_network(field_data, all_data)
>      31
>      32 def is_inside_chosen_network(field_data,all_data):
> ---> 33     host_network=Network.objects.get(id=all_data['network'])
>      34     host_network_ip=host_network.network_ip
>      35     host_network_prefix=host_network.network_prefix
>
> NameError: global name 'Network' is not defined
>
> It's seems like some loop :) - how to solve this ?
>


Can you switch to using an explicit import, ie.

from wfs.hnm.models import Network

and let us know what happens?

Jay P.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@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-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to