On Wednesday 08 October 2008 03:48:43 pm Mike Mabey wrote:
> On Wed, Oct 8, 2008 at 4:38 PM, Ed Leafe <[EMAIL PROTECTED]> wrote:
> > On Oct 8, 2008, at 4:48 PM, Mike Mabey wrote:
> >
> >  Thanks so much for taking a look at these.  I'm sending you both my
> > cdxml
> >
> >> file and the *-code.py file so you can see everything I've got.
> >>
> >> Let me know what you figure out,
> >
> >        I'm stumped - everything looks to be as it is supposed to be. If
> > you have the time, could you try the following? Open up
> > dabo/db/dCursorMixin.py, and around line 676 is a method named
> > '__setNonUpdateFields()'. Can you replace that with the version below my
> > sig, and let me know what debugging is printed out? I'm guessing that it
> > might be that 'name' has a special meaning that is letting it slip
> > through, but right now it's just a guess.
> >
> >        I'll be on the road for the next couple of days, so I may not be
> > online much.
> >
> > -- Ed Leafe
> >
> >
> >        def __setNonUpdateFields(self, nonUp=None):
> >                """Automatically set the non-update fields."""
> >                if nonUp is not None:
> >                        # This is being called back by the BackendObject
> >                        self.__nonUpdateFields = nonUp
> >                        return
> >                print "SETTING NONUPDATE FOR", self.Table
> >                dataStructure = getattr(self, "_dataStructure", None)
> >                if dataStructure is not None:
> >                        print "USING DATASTRUCTURE", self.Table
> >                        # Use the explicitly-set DataStructure to find the
> > NonUpdateFields.
> >                        self.__nonUpdateFields = [f[0] for f in
> > self.DataStructure
> >                                        if (f[3] != self.Table) or not
> > f[4]] else:
> >                        # Create the _dataStructure attribute
> >                        self._getDataStructure()
> >                        print "_DATASTRU", self.Table, self._dataStructure
> >                        # Delegate to the backend object to figure it out.
> >                        self.__nonUpdateFields =
> > self.BackendObject.setNonUpdateFields(self)
> >                        print "NONUPDATE SET:", self.Table,
> > self.__nonUpdateFields
>
> Okay, I just tried it, and here's the output:
>
> SETTING NONUPDATE FOR parts
> USING DATASTRUCTURE parts
> Dabo Error Log: Wed Oct 08 16:44:47 2008: Error in scanChangedRows: (1054,
> "Unknown column 'parts.name' in 'field list'")
> SQL: update `parts` set `parts`.`name` = 'Comparator / OP AMPs' where
> `parts`.`index`=1
>
> If memory serves me correctly, I've run into the problem of naming a table
> column something that threw off the code that worked with it.  I'll try
> renaming the `name` column, changing the code in my app to reflect that,
> and then I'll let you know how it works out.
>
> Thanks for your help.  I appreciate it.
>
> Mike M.

I most likely can't open your cdxml file.  But could you post your complete 
bizobjs.  This does not make sense.  The program is attempting to 
update "name".

Also you might try 
self.addField(" categories.name as catname")
NonUpdateField=['catname']



-- 
John Fabiani


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]

Reply via email to