On Fri, Mar 16, 2012 at 10:42, polo <[email protected]> wrote:

> Your project is stable ?



that's the right question!

no it isn't. As the docs said it is in a alpha release,
I think is a good moment to create a first stable release but I'm waiting
to release it as 1.0 when django 1.4 will be definitly released

is it working?
I use it and it's working for me,

I wrote a good composite test suite that can be joined with the django
tests:
https://github.com/simone/django-compositekey/tree/master/djangotests/composite_modeltests


there are two issue opened, one is related on oracle return id function,
that is not implemented,

the other as I says before is an important decision, I wrote the library
composing the pk using a python function,
but some features of generic relation joins tables using content_id and the
other relations,
how we can create a SQL join query using a result of a python function in
one side and two or more columns in the other side? (it is possible, but is
totally crazy for the performance, you need to do a full table scan to
retrieve all key components and with they build the array of composite
keys, and with it run the 2nd query)

the unique way for me is use a concat database dependent concat function to
have a unique key to use in the generic relations.

something like that:

PGSQL quote_literal(column1) || '#' ||quote_literal(column2)
SQLITE quote(column1) || '#' || quote(column2)
ORACLE 'id_1' || '#' || 'id_2'
MYSQL concat(quote(column1), '#', quote(column2) )

so the response on you question is: no it isn't, because it's work only if
you dont use some features of generic relations. It's enought for my actual
project, but I don't know if can be good for yours.

But if you help me to take this design decision, we could open a branch and
change the logic to have a string concatenation on db side.

We need to decide for the performance of the framework.

anyway, if with your question you want to know if django using this project
is yet stable, this is the results of test suite.


(compositekey)aldaran@romilda:/mnt/source/home/aldaran/workspaces/django/django_compositekey/compositekey/djangotests$
./cruntests.py --settings=test_sqlite
Creating test database for alias 'default'...
Creating test database for alias 'other'...
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................s.............................................................sss.......................................ss......................................................s.....x.............sssssss...s.......ss.....s.....s.......s..ss.............s.s......s........................................................................................................s...........................................................................s....................s..........................s.............................................s............................................................................................................x..........................................................................................................................................................................................................................................................................................................................................s......................................................s...s....s......................................................................................................................s.........................................................................................................................................................................................................................................................................................s...............s...........................................................................................................................................................................................................................................................................ss.....................................................................................................................................................................................................................................s............................................................................................................................................s..........................................................................................ss..........................................................................................................................................................................................................x...........................................................................................................................................................................................................s..............................................................................................................................................................................s................................................................................ssssssss...s.......s..........................................................................................................................................................................................................................................................................................................................ssssssssssssssssssssssssssssssssss.......................................................................................................................................................................................................s...........F.......ssssss.............................................................................................................................................................................................................................................................................................................................................................................................ss......................s........................................................................................................................................ssssss..............................ssssss..............................................................................................................................................................................ss...............................ssss...s...
----------------------------------------------------------------------
Ran 4759 tests in 579.369s

FAILED (skipped=118, expected failures=3)
Destroying test database for alias 'default'...
Destroying test database for alias 'other'...

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" 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/django-developers?hl=en.

Reply via email to