Hi folks, Yes, I'm bringing this issue again, please don't throw things at me !
Basically, I would want to open a discussion on these subjects so as to define a clean solution to this problem, if at least possible. I think I'm gonna give some use cases that should, in my very humble opinion, be fulfilled by Django : - CurrentUser: In a multi-user content management system (cms), the client sometimes (well, for every project I've been working on, this has been a client will, but it might be french-client-specific) want to keep track of the author, or poster of a document. The current django state on the subject is to create a ForeignKey on meta.Users, and have the author to select himself in the list. This has two drawbacks : 1/ the user has to do something that should be dealt with by the system (since he is already authentified) 2/ this system allows one to specify another user than him (either on purpose or by mistake) One could enforce this by writing custom views, but then you can't use provide your users with the admin interface Related tickets : 1132 [1] and 1164 [2] - Owner user and / or group permission : This is a somewhat related issue. For a multi-user cms, the client wants to be able to define some more granulated permission. For example "only owner can edit this very document" (now that I think about it, I can't find any other example not already covered by Django's permission system, but it's quite late there). I'm sure solutions have already been provided for both problems (tickets 1132 and 1164 both provides solutions for the CurrentUser issue), but as of now, these solutions have been (in my own opinion rightly) deemed too hackish to get committed. This thread is aimed at finding a clean implementation of those two concepts. Obviously, the solution _will_ introduce some coupling between the data layer and the request layer (well, who knows ?). The point is mainly to make it as light as possible. I know, I didn't provide any answer right now. But let's brainstorm on the subject and something might pop and seem simply the right way ! Regards, [1] http://code.djangoproject.com/ticket/1132 [2] http://code.djangoproject.com/ticket/1164 -- Brice Carpentier aka Br|ce