I'm benefiting a great deal from all other aspects of Django. So, I'm not concerned about having to use SQL to get the job done. However, I really want to do it the way the Django developers intended it to be done, which may be to use raw SQL.
The only thing I don't like about addressing the sql results in my templates is that I have to address them by index value, rather than by name. For example, instead of person.f_name, I have to do person.0. Am I missing a concept here? As for the MongoDB, I've never attempted using it. At this point, I really don't need another project with a learning curve. And, I'm comfortable with SQL. Finally, the link to my stats should have been http://rankintornadoes.com/stats Darren On Fri, May 28, 2010 at 5:35 AM, Euan Goddard <euan.godd...@2degreesnetwork.com> wrote: > Darren, > > This seems like quite a complex problem and I'm not sure whether the > Django ORM would be up to it. I've had a lot of trouble when using > multiple annotations on Querysets when JOINs are involved as Django > does the wrong thing. > > Have you considered using a schemaless DB like MongoDB for your data > storage rather than a relational model? Your data does look quite > relational though, but you might find some of the map/reduce > functionality good. > > Euan > > On May 28, 5:50 am, darren <backdoc...@gmail.com> wrote: >> Needing to get this done, I went with SQL. The sql seems rather >> inefficient. But, my data set will be rather small. I posted what I >> went with on Pastebin: http://pastebin.com/VmiYNXan(good for 24 >> hrs). >> >> I don't have much data loaded (just one tournament). But, you can see >> the resulting table of data here: rankintornadoes.com. >> >> I would still like to know if this would be the recommended Django >> way. Any advice would be welcome. >> >> Darren >> >> On Thu, May 27, 2010 at 2:19 PM, darren <backdoc...@gmail.com> wrote: >> > I'm looking for ideas on the best way to approach this problem. >> > Should I write raw SQL, stay with the ORM or even mix Javascript with >> > either ORM or SQL? >> >> > I want to keep up with player stats for a baseball team. I've been >> > reading up on aggregates and annotations. And, I'm getting somewhere >> > with it. But, not quite all the way yet. I also wrote some SQL that >> > accomplishes most everything I need all at once. I think I could run >> > with it, too. >> >> > To calculate things like "on base percentage" or "batting average", I >> > need to mix math both vertically and horizontally in the table. One >> > way I thought about handling this is to build an HTML table of data >> > using a queryset based on this example in the Django documentation: >> >> > Book.objects.aggregate(Avg('price'), Max('price'), Min('price')) >> >> > except, I would need something that summed 3 or 4 different columns. >> >> > At that point, I could use javascript to Sum() the total of each and >> > calculate averages. So, a table would be built like: >> >> > A B C D E >> > F >> > G H >> > Player Name | Hits | Strike Outs | Walks | Fouled Out | >> > Javascript Calcuated Total at Bats | Javascript Calc. Batting AVG | >> > Javasctipt On Base % >> > Player 1 3 2 5 2 >> > A+B+C+D+E >> > B/F (B+D)/F >> > Player 2 4 2 5 1 >> > A+B+C+D+E >> > B/F (B+D)/F >> >> > My models contain 3 tables that join people, tournaments and an "at >> > bat". The "AtBat" class is where the statistical data will be >> > recorded. The model looks like this. So, I'm saving one result per >> > record: >> >> > 101 class AtBat(models.Model): >> > 102 atbat_id = models.AutoField(primary_key=True) >> > 103 player = models.ForeignKey(Person, to_field='f_name', >> > verbose_name='Player', limit_choices_to={'relationship' : 'Player' }) >> > 104 game = models.ForeignKey(Score, to_field='scores_id', >> > verbose_name='Game') >> > 105 result = models.CharField('Result', choices=(('H', 'Hit'), >> > ('BB', 'Walk'), ('K', 'Strike Out'), ('FO', 'Ground or Fly Out'), >> > ('Sacrifice', 'Sacrafice')), max_length=10) >> >> > One of my goals would be to allow users to select certain players, >> > date ranges or games to filter the results. I'm not sure how that >> > might impact the solution. >> >> > Any suggestions? > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@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. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.