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.
