On 14/01/2011 14:35, hansel wrote:
Hi Marlin and Pavel, thanks for the response.

No, I'm not using super(). I can't find any documentation on this
class. Could you point me towards some? An example of what I mean is
below. The class below won't be able to create new rows in the admin
interface unless I comment out the three lines of the __init__ method.
It fails with an error like "class 'Company' requires three
arguements, only one given."

You want to do something like this:

   class Company(DeclarativeBase):
        __tablename__ = 'companies'

        def __init__(self, name, company_symbol, **kwargs):
            super(Company, self).__init__(**kwargs)
            self.name = name
            self.company_symbol = company_symbol


AFAIK, the DeclarativeBase constructor fills in attributes from kwargs anyway, so you could get away with not using the constructor at all, and simply creating new Companies like this:

    company1 = Company(name='company', company_symbol='somesymbol')

class Company(DeclarativeBase):
     __tablename__ = 'companies'

     id = Column(Integer, primary_key = True)
     name = Column(String, nullable = False)
     company_symbol = Column(String)

     def __init__(self, name, company_symbol):
         self.name = name
         self.company_symbol = company_symbol

     def __repr__(self):
         return "<Company('%s', '%s')>" % self.name,
self.company_symbol

Kind regards

Hansel

On Jan 13, 2:24 pm, Pavel Strashkin<[email protected]>  wrote:
Hi,

Could you please provide an example? Do you call superclass __init__
method in your class?

2011/1/13 Hansel Dunlop<[email protected]>:



Hi there,
First off I want to say thank you to everyone that has spent their time
developing the TurboGears stack. It's great!
I have one question, or maybe it's a comment.
If you create your data models with '__init__' methods then the admin
interface is no longer able to add rows into the database. Is this by
design? I am just curious about the rationale and how it can be easily
changed.
Kind regards
Hansel
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en.- Hide quoted text -
- Show quoted text -

--
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to