Thanks, I saw that .model thing too, but was also unsure about it... I might just test it.
Em sábado, 21 de abril de 2012 19h04min30s UTC-3, akaariai escreveu: > > On Apr 21, 8:35 pm, Arruda <felipe.arruda.pon...@gmail.com> wrote: > > Should I create this many-to-many table as a normal model(no proxy) and > set > > the foo foreingkey to Foo1 instead of Foo? > > Or should I use only FooBar as many-to-many and create some specific > > queries that would convert ALL the returned foo objects as Foo1 > instance? > > I am not sure if I am answering your question... But here is a dirty > hack to try: > qs = SomeModel.objects.all() > qs.model = SomeModelProxy > print list(qs) > > You should get proxy model instances from the queryset. > > Now, I just quickly tested this a minute ago, and it seems to work in > a very simple cases. The above uses internals of Django's ORM in a way > it was not designed to be used. So mandatory warnings: If anything > breaks, though luck. A minor version upgrade could break your code > without any notice. > > So, in the m2m case I guess I would create a property: > class SomeModel: > foos = M2M(Foo) > > def _foo1s(self): > qs = self.foos.all() > qs.model = Foo1 > return qs > foo1s = property(_foo1s) > > The above might just work. Or not. Once again, be very cautious if you > use any of the above. > > - Anssi Em sábado, 21 de abril de 2012 19h04min30s UTC-3, akaariai escreveu: > > On Apr 21, 8:35 pm, Arruda <felipe.arruda.pon...@gmail.com> wrote: > > Should I create this many-to-many table as a normal model(no proxy) and > set > > the foo foreingkey to Foo1 instead of Foo? > > Or should I use only FooBar as many-to-many and create some specific > > queries that would convert ALL the returned foo objects as Foo1 > instance? > > I am not sure if I am answering your question... But here is a dirty > hack to try: > qs = SomeModel.objects.all() > qs.model = SomeModelProxy > print list(qs) > > You should get proxy model instances from the queryset. > > Now, I just quickly tested this a minute ago, and it seems to work in > a very simple cases. The above uses internals of Django's ORM in a way > it was not designed to be used. So mandatory warnings: If anything > breaks, though luck. A minor version upgrade could break your code > without any notice. > > So, in the m2m case I guess I would create a property: > class SomeModel: > foos = M2M(Foo) > > def _foo1s(self): > qs = self.foos.all() > qs.model = Foo1 > return qs > foo1s = property(_foo1s) > > The above might just work. Or not. Once again, be very cautious if you > use any of the above. > > - Anssi Em sábado, 21 de abril de 2012 19h04min30s UTC-3, akaariai escreveu: > > On Apr 21, 8:35 pm, Arruda <felipe.arruda.pon...@gmail.com> wrote: > > Should I create this many-to-many table as a normal model(no proxy) and > set > > the foo foreingkey to Foo1 instead of Foo? > > Or should I use only FooBar as many-to-many and create some specific > > queries that would convert ALL the returned foo objects as Foo1 > instance? > > I am not sure if I am answering your question... But here is a dirty > hack to try: > qs = SomeModel.objects.all() > qs.model = SomeModelProxy > print list(qs) > > You should get proxy model instances from the queryset. > > Now, I just quickly tested this a minute ago, and it seems to work in > a very simple cases. The above uses internals of Django's ORM in a way > it was not designed to be used. So mandatory warnings: If anything > breaks, though luck. A minor version upgrade could break your code > without any notice. > > So, in the m2m case I guess I would create a property: > class SomeModel: > foos = M2M(Foo) > > def _foo1s(self): > qs = self.foos.all() > qs.model = Foo1 > return qs > foo1s = property(_foo1s) > > The above might just work. Or not. Once again, be very cautious if you > use any of the above. > > - Anssi Em sábado, 21 de abril de 2012 19h04min30s UTC-3, akaariai escreveu: > > On Apr 21, 8:35 pm, Arruda <felipe.arruda.pon...@gmail.com> wrote: > > Should I create this many-to-many table as a normal model(no proxy) and > set > > the foo foreingkey to Foo1 instead of Foo? > > Or should I use only FooBar as many-to-many and create some specific > > queries that would convert ALL the returned foo objects as Foo1 > instance? > > I am not sure if I am answering your question... But here is a dirty > hack to try: > qs = SomeModel.objects.all() > qs.model = SomeModelProxy > print list(qs) > > You should get proxy model instances from the queryset. > > Now, I just quickly tested this a minute ago, and it seems to work in > a very simple cases. The above uses internals of Django's ORM in a way > it was not designed to be used. So mandatory warnings: If anything > breaks, though luck. A minor version upgrade could break your code > without any notice. > > So, in the m2m case I guess I would create a property: > class SomeModel: > foos = M2M(Foo) > > def _foo1s(self): > qs = self.foos.all() > qs.model = Foo1 > return qs > foo1s = property(_foo1s) > > The above might just work. Or not. Once again, be very cautious if you > use any of the above. > > - Anssi Em sábado, 21 de abril de 2012 19h04min30s UTC-3, akaariai escreveu: > > On Apr 21, 8:35 pm, Arruda <felipe.arruda.pon...@gmail.com> wrote: > > Should I create this many-to-many table as a normal model(no proxy) and > set > > the foo foreingkey to Foo1 instead of Foo? > > Or should I use only FooBar as many-to-many and create some specific > > queries that would convert ALL the returned foo objects as Foo1 > instance? > > I am not sure if I am answering your question... But here is a dirty > hack to try: > qs = SomeModel.objects.all() > qs.model = SomeModelProxy > print list(qs) > > You should get proxy model instances from the queryset. > > Now, I just quickly tested this a minute ago, and it seems to work in > a very simple cases. The above uses internals of Django's ORM in a way > it was not designed to be used. So mandatory warnings: If anything > breaks, though luck. A minor version upgrade could break your code > without any notice. > > So, in the m2m case I guess I would create a property: > class SomeModel: > foos = M2M(Foo) > > def _foo1s(self): > qs = self.foos.all() > qs.model = Foo1 > return qs > foo1s = property(_foo1s) > > The above might just work. Or not. Once again, be very cautious if you > use any of the above. > > - Anssi -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/TcNM3MbpT0gJ. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.