Can you try this and tell us what you see:

Run a shell using python manage.py shell
>>> instance = Staff.objects.using('gold').get(username='tsamuel')
>>> str(instance.query)

This will tell us whether or not the database, reference, and such are
correctly translating into a query. The error means Django is sending an
erroneous query to your database layer.

Furbeenator

On Wed, Nov 2, 2011 at 1:54 PM, Tabitha Samuel <tabitha.sam...@gmail.com>wrote:

> Hi,
>
> In brief here is my problem. I have two simple tables, one has a one
> to many relation with the other. The problem I run into is that when I
> try to create a form instance of the child, and try to print it or
> render it in a template, I run into a "relation not found" error for
> the parent. Simply querying the parent works without a problem.
>
> This is what my models.py looks like:
> from django.db import models
>
> class NICSGroupType(models.Model):
>     n_group_number = models.IntegerField(primary_key = True)
>    n_group_name = models.CharField(max_length = 512)
>    class Meta:
>        db_table = "n_nics_groups"
>
> class Staff(models.Model):
>    username                    = models.CharField(primary_key = True,
> max_length = 50)
>    home_phone                  = models.CharField(max_length = 12,
> null=True)
>    cell_phone                  = models.CharField(max_length = 12,
> null = True)
>    home_address                = models.CharField(max_length = 1024,
> null = True)
>    home_city                   = models.CharField(max_length = 64,
> null = True)
>    home_state                  = models.CharField(max_length = 32,
> null = True)
>    home_zip                    = models.CharField(max_length = 10,
> null = True)
>    emergency_name              = models.CharField(max_length =64,
> null = True)
>    emergency_phone             = models.CharField(max_length = 12,
> null = True)
>    nics_group                  = models.ForeignKey(NICSGroupType,
> to_field ='n_group_number', db_column="nics_group",
> null=True,blank=True)
>    room_number                 = models.CharField(max_length = 32,
> null = True)
>    title                       = models.CharField(max_length = 64)
>    supervisor                  = models.CharField(max_length = 25,
> null = True, blank = True)
>    url                         = models.CharField(max_length =
> 256,null = True, blank = True)
>    im                          = models.CharField(max_length = 32,
> null = True, blank=True)
>    last_modification_time      = models.IntegerField()
>    start_date                  = models.IntegerField()
>    creation_time               = models.IntegerField()
>    termination_date            = models.IntegerField(null = True,
> blank = True)
>    bio                         = models.TextField()
>    photopath                   = models.CharField(max_length = 5048)
>    office_phone                = models.CharField(max_length=12)
>    email                       = models.CharField(max_length = 256)
>    preferred_name              = models.CharField(max_length = 50,
> null = True, blank = True)
>    deleted                     = models.BooleanField(default = False)
>    viewable                    = models.BooleanField(default = True)
>
>    class Meta:
>        db_table = "n_test_staff"
>
> The tables that it corresponds to looks like this:
>
>  \d n_test_staff
>                 Table "public.n_test_staff"
>         Column         |          Type          | Modifiers
> ------------------------+------------------------+-----------
>  username               | character varying(25)  |
>  home_phone             | character varying(12)  |
>  cell_phone             | character varying(12)  |
>  home_address           | character varying(256) |
>  home_city              | character varying(64)  |
>  home_state             | character varying(32)  |
>  home_zip               | character varying(10)  |
>  emergency_name         | character varying(64)  |
>  emergency_phone        | character varying(12)  |
>  nics_group             | integer                |
>  room_number            | character varying(32)  |
>  title                  | character varying(64)  |
>  supervisor             | character varying(25)  |
>  url                    | character varying(256) |
>  im                     | character varying(32)  |
>  last_modification_time | integer                |
>  start_date             | integer                |
>  creation_time          | integer                |
>  termination_date       | integer                |
>  bio                    | text                   |
>  photopath              | text                   |
>  office_phone           | character varying(12)  |
>  email                  | text                   |
>  preferred_name         | character varying(50)  |
>  deleted                | boolean                |
>  viewable               | boolean                |
> Foreign-key constraints:
>    "nics_group_fkey" FOREIGN KEY (nics_group) REFERENCES
> n_nics_groups(n_group_number) DEFERRABLE INITIALLY DEFERRED
>
> n_nics_groups
>            Table "public.n_nics_groups"
>     Column     |          Type          | Modifiers
> ----------------+------------------------+-----------
>  n_group_number | integer                | not null
>  n_group_name   | character varying(256) |
>  n_group_lead   | character varying(25)  |
> Indexes:
>    "n_nics_groups_pkey" PRIMARY KEY, btree (n_group_number)
>
> So when I do a
>  form = StaffForm(instance = Staff.objects.using('gold').get(username
> ='tsamuel'))
>    print form
>
> the print form throws the error:
>        relation "n_nics_groups" does not exist
>
> I know the model can "see" the relation on other occassions because
> statements like
> groups = NICSGroupType.objects.using('gold').all()  work without a
> problem. Wondering why the foreign key causes this problem. I hope you
> can help me with this issue as I haven't been able to find much help
> anywhere else on the web (and I've been looking into this for about a
> week now!) Please let me know if you need any more information.
> Thanks!!
>
> Tabitha Samuel
> <tabitha.sam...@gmail.com>
>
> --
> 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
> django-users+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>

-- 
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 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to