On 8月25日, 下午7時15分, "Gaetan de Menten" <[EMAIL PROTECTED]> wrote:
> On Sat, Aug 23, 2008 at 2:15 PM, Victor Lin <[EMAIL PROTECTED]> wrote:
>
> > Formula pattern is release now.
>
> >http://elixir.ematia.de/trac/wiki/Recipes/Formula
>
> Thanks for sharing! I'm skimmed through it and I have a few comments:
>
> Could you translate the Chinese text in the examples to English? It
> usually makes for more understandable examples (to those who can't
> read Chinese). Besides, some people don't even have chinese fonts
> installed, so all they see it some ugly rectangle characters.
Ok, I will translate that when I was free.
>
> I notice you defined several toString methods on your classes. Why
> didn't you use Python's builtin __str__ ? so that you can simply
> "print <a formula>" ?
>
I do it before, but I have some problem to display some class in
__repr__
They will looks like
<XXXX 1 of (10 + 3) / 4>
I think I should replace "%s" to "%r", rather than create such thing
like "toString".
Thank your comment.
> Finally, in FormulaElement, you manually define some kind of sequence.
> Why is it so? Why don't you let the "id" column be generated
> automatically and use the default sequence for it?
>
> FormulaElement(Entity):
> using_options(inheritance='multi')
> using_options(tablename='formula_element')
>
> id = Field(Integer, primary_key=True, default=getNextId)
> ...
I'd like to do so, but there is some strange problem. It seems that
"autoincrement" doesn't work at table which have multi-primarykey.
I just write some code to reduce this problem.
from elixir import *
metadata.bind = 'sqlite:///'
metadata.bind.echo = True
class Director(Entity):
name = Field(Unicode(60))
def __repr__(self):
return '<Director "%s">' % self.name
class Movie(Entity):
id = Field(Integer, primary_key=True, autoincrement=True)
director = ManyToOne('Director', primary_key=True)
title = Field(Unicode(30))
def __repr__(self):
return '<Movie "%s" (%d)>' % (self.title, self.year)
setup_all(True)
noName = Director(name='No Name')
newMovie = Movie(title='hello world')
session.commit()
Here comes the error:
sqlalchemy.exc.IntegrityError: (IntegrityError) __main___movie.id may
not be NULL u'INSERT INTO __main___movie (title) VALUES (?)' ['hello
world']
I think it is a SQL feature, so I didn't ask in group or report it.
Is this a SQL feature? Or what am I doing wrong?
Thanks.
>
> > By the way, I update a file "test_formula_builder.2.py" that is
> > duplicate, but I have no idea how to delete it, could someone delete
> > it for me? Thanks.
>
> Done.
>
> --
> Gaëtan de Mentenhttp://openhex.org
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"SQLElixir" 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/sqlelixir?hl=en
-~----------~----~----~----~------~----~------~--~---