On Wed, 2007-11-14 at 02:36 +0000, Tomek wrote: > Wow, what a quick reply! Thanks Malcolm. > > I'm pretty new to Django so excuse my inability to express myself in > Django terms. > > I agree with your comments regarding taking the right approach to > solving the problem (how very Pythonic of you :-) > I tried django_restapi because it offered a quick starting point for > some proof of concept prototypes which I am most likely to throw away > anyway. > > When I say that I want to create a model for a custom SQL query I mean > exactly that. I would like to have a model class which behaves just > like any other model but with some exceptions: > > - it would be read only > - there is no table corresponding to the model class > - when retrieving records/instances of the model a custom query is > executed instead of whatever query Django would generate > automatically.
A model represents the Python view of a table or a view at the database level, not the output of a custom SQL query (unless that query is a view). If you want customisation beyond that level, you're no longer using Django's ORM, although you might be able to fake it with save() methods on your model and stuff like that. Wouldn't be the first project I ever undertook with Django, though. Again, Django's ORM is designed to represent database tables (actually, it's designed to provide persistent storage for Python objects, but it happens to work in reverse, too). It turns out, since database views are like tables, we can handle views. If you want more customisation than that, it rapidly gets more fiddly. Not impossible, but harder. So your approach sounds wrong to me. Instead of trying to force things into Django's ORM easily, you'll either need to spend some time understanding the deep internals or write your own objects that look a lot like models but aren't really models. Malcolm -- Borrow from a pessimist - they don't expect it back. http://www.pointy-stick.com/blog/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---