Oh no, that would not be a good thing to share! :-) That's a bummer that the upgrade broke things.
So, the error is being raised on this line? staff_form = StaffForm(request.POST, instance=staffinstance).using('gold') Furbee On Fri, Nov 4, 2011 at 8:02 AM, Tabitha Samuel <tabitha.sam...@gmail.com>wrote: > So this is how I'm creating the staff form: > > def staff_info(request, *args, **kws): > class StaffForm(forms.ModelForm): > class Meta: > model= Staff > .... > .... > .... > if request.method == 'POST' and request.POST['event'] == > 'choosestaff': > current_staff = > request.POST.get('selectstaff') > elif request.method == 'POST' and request.POST['event'] == > 'editstaff': > #print > request > current_staff = > request.POST.get('username') > errors = > validate_staff(request) > if errors is not None and len(errors) == > 0: > print > request.POST > staffinstance = Staff.objects.using('gold').get(username = > current_staff) > #new_form = > StaffForm(instance=staffinstance) > #print > new_form > staff_form = StaffForm(request.POST, > instance=staffinstance).using('gold') > staff_form.last_modification_time = > datetime.now() > staff_form.supervisor = > staffinstance.supervisor > staff_form.start_date = > staffinstance.start_date > staff_form.creation_time = > staffinstance.creation_time > staff_form.termination_date = > staffinstance.termination_date > staff_form.using('gold').save() > > else: > current_staff = > request.user.username > tg_info,staff, nics_info = > get_tg_info(current_staff) > > groups = > NICSGroupType.objects.using('gold').all() > form = StaffForm(instance = > Staff.objects.using('gold').select_related().get(username = > current_staff)) > print > form > return render_to_response('staff/staffinfo.html',{'form':form, > 'tginfo':tg_info, 'nicsinfo': nics_info, 'staff':staff, > 'is_admin':is_admin, 'errors':errors},context_instance = > RequestContext(request)) > > > Funny thing is that this worked perfectly in version 1.1a of django. > All trouble started when I switched to 1.3. I was using extDbManager > to create the gold connection in the 1.1 version since 'gold' is a non- > default db (used only for this model) and 1.1 only had in built > support for a single db. > > And yes, I do have a page for the view. Problem is that it is passcode > protected and I don't think I'm at liberty to give you access to it. : > ( > > Tabitha > On Nov 4, 10:44 am, Mark Furbee <markfur...@gmail.com> wrote: > > Good Morning Tabitha. > > > > Actually, do you have a model for StaffForm? That is the object being > > instantiated and then causing the error. If there is no nics group > > reference field in the StaffForm object, it may raise this error. Also, > do > > you have this running in a view/template? Do you have a real page that > > you've tried this on, or have you just tried it in the shell? > > > > Thanks, > > > > Furbee > > > > On Fri, Nov 4, 2011 at 7:02 AM, Tabitha Samuel <tabitha.sam...@gmail.com > >wrote: > > > > > > > > > > > > > > > > > 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') > > > > ... > > > > 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. > > -- 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.