Here is staff/models.py

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)
    def __str__(self):
        return self.n_group_name
    class Meta:
        db_table = "n_nics_groups"

class StaffpageAdmin(models.Model):
    n_id                        = models.IntegerField(primary_key =
True)
    n_username                  = models.CharField(max_length = 50)
    class Meta:
        db_table = 'n_staffpage_admin'

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"

class TG_Staff(models.Model):
    g_name                      = models.CharField(primary_key = True,
max_length = 1024)
    g_modification_time         = models.IntegerField()
    g_active                    = models.CharField(max_length = 5)
    g_common_name               = models.CharField(max_length = 1024)
    g_phone_number              = models.CharField(max_length = 1024)
    g_default_project           = models.CharField(max_length = 1024)
    g_office_address            = models.CharField(max_length = 1024)
    g_bz_phone                  = models.CharField(max_length = 1024)
    g_bz_phone_ext              = models.CharField(max_length = 1024)
    g_citizenship               = models.CharField(max_length = 1024)
    g_street_address            = models.CharField(max_length = 1024)
    g_street_address2           = models.CharField(max_length = 1024)
    g_city                      = models.CharField(max_length = 1024)
    g_state                     = models.CharField(max_length = 1024)
    g_zip                       = models.CharField(max_length = 1024)
    g_country                   = models.CharField(max_length = 1024)
    g_dept                      = models.CharField(max_length = 1024)
    g_tg_person_id              = models.CharField(max_length = 1024)
    g_org                       = models.CharField(max_length = 1024)
    g_position                  = models.CharField(max_length = 1024)
    g_home_phone                = models.CharField(max_length = 1024)
    g_fax                       = models.CharField(max_length = 1024)
    g_ldap_id                   = models.IntegerField()
    g_email_address             = models.CharField(max_length = 1024)

    class Meta:
        db_table = "g_user"

Is this what you needed?

Tabitha

On Nov 4, 2:00 am, Furbee <furbeena...@gmail.com> wrote:
> Hi Tabitha,
>
> I wish I could supply a quick and simple answer to fix what's going on in
> your database, but nothing obvious is standing out. Can you supply your
> model for StaffForm? That seems to be where the problem lies, since we can
> get details from the model and view elsewhere.
>
> Thanks,
>
> Furbee
>
> On Thu, Nov 3, 2011 at 7:22 PM, Tabitha Samuel 
> <tabitha.sam...@gmail.com>wrote:
>
>
>
>
>
>
>
> > K, so that worked...
>
> > This is what I got:
> > In [5]: i = Staff.objects.using('gold').get(username='tsamuel')
>
> > In [6]: i.nics_group.n_group_name
> > Out[6]: u'Systems and Operations'
>
> > Looks like the foreign key is working fine from the db's perspective.
> > This is how I'm getting the form:
> > form = StaffForm(instance = Staff.objects.using('gold').get(username
> > =current_staff))
> > where current_staff = 'tsamuel'
> > and then if I do a print form, I get a relation n_nics_groups does not
> > exist error.
>
> > Once again, thank you so much for your help, I really appreciate it!
>
> > Tabitha
>
> > On Nov 3, 1:26 pm, Furbee <furbeena...@gmail.com> wrote:
> > > I may have lead you astray. I set up the same models on my end and get
> > the
> > > same query; it didn't show the join of the foreign key in the QuerySet of
> > > Staff, but when I did a get() on username='tsamuel' I got a Staff object.
> > > Then I was able to get the group they belonged to. This was successful
> > for
> > > me:
>
> > > Here's my data:
>
> > > table: n_nics_groups
> > > n_group_number; n_group_name
> > > 1; "TestGroup1"
> > > 2; "TestGroup2"
> > > 3; "TestGroup3"
>
> > > table: n_test_staff
>
> > "tfigura";"";"";"";"";"";"";"";"";2;"";"''";"";"";"";1;1;1;;"''";"''";"''";"''";"";FALSE;TRUE
>
> > "tsamuel";"";"";"";"";"";"";"";"";1;"";"''";"";"";"";1;1;1;;"''";"''";"''";"''";"''";FALSE;TRUE
>
> > > 'tfigura' is in group with n_group_number 2, tsamuel is in group with
> > > n_group_number 1.
>
> > > python manage.py shell:
>
> > > >>> from project.models import NICSGroupType, Staff
> > > >>> i = Staff.objects.get(username='tsamuel')
> > > >>> i.nics_group.n_group_name
> > > >>> u'TestGroup1'
>
> > > Is this operational for your instance? If not, I would double check that
> > > the n_nics_groups table definitely exists in the datasource you defined
> > as
> > > 'gold.' This should be defined in the DATABASES section of settings.py.
> > It
> > > looks like it is the database 'public' from your example, but double
> > check
> > > that the 'gold' DATABASE points there.
>
> > > Otherwise, I wonder if it is somewhere where you are defining the form
> > > object. First, let's verify that the foreign key reference is being
> > honored
> > > on your system, by running the above test, to verify that the group is
> > > printed, when you get() a specific record and print the
> > > nics_group.n_group_name.
>
> > > Thanks,
>
> > > Furbee
>
> > > On Wed, Nov 2, 2011 at 5:09 PM, Tabitha Samuel 
> > > <tabitha.sam...@gmail.com>wrote:>
> > Thank you so much for your reply! So I got a "Staff object has no
> > > > attribute 'query'" error when I did it with the get. I got the sql
> > > > when I tried it with the filter instead (instance =
> > > > Staff.objects.using('gold').filter(username='tsamuel') >>
> > > > str(instance.query))this is what I'm getting:
>
> > > > 'SELECT "n_test_staff"."username", "n_test_staff"."home_phone",
> > > > "n_test_staff"."cell_phone", "n_test_staff"."home_address",
> > > > "n_test_staff"."home_city", "n_test_staff"."home_state",
> > > > "n_test_staff"."home_zip", "n_test_staff"."emergency_name",
> > > > "n_test_staff"."emergency_phone", "n_test_staff"."nics_group",
> > > > "n_test_staff"."room_number", "n_test_staff"."title",
> > > > "n_test_staff"."supervisor", "n_test_staff"."url",
> > > > "n_test_staff"."im", "n_test_staff"."last_modification_time",
> > > > "n_test_staff"."start_date", "n_test_staff"."creation_time",
> > > > "n_test_staff"."termination_date", "n_test_staff"."bio",
> > > > "n_test_staff"."photopath", "n_test_staff"."office_phone",
> > > > "n_test_staff"."email", "n_test_staff"."preferred_name",
> > > > "n_test_staff"."deleted", "n_test_staff"."viewable" FROM
> > > > "n_test_staff" WHERE "n_test_staff"."username" = tsamuel '
>
> > > > Looks like from the query, is not looking into the n_nics_groups
> > > > table. Question is why?
>
> > > > Tabitha
>
> > > > On Nov 2, 6:00 pm, Furbee <furbeena...@gmail.com> wrote:
> > > > > 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
>
> ...
>
> read more »

-- 
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