On Tuesday, July 16, 2013 5:29:47 PM UTC-7, Victor Hooi wrote: > > Hi, > > We have a list of users, who are going to like/dislike various widgets. > > My question is regarding how to store the like/dislikes. > > Essentially, there can be three states between a user and a widget - like, > dislike, and unrated, so it's not just a straight Boolean. > > I'm thinking of just doing a M2M between user and widgets models, and then > storing an extra field on that M2M. > > I can either store a Boolean, for whether the item is liked/unliked - and > then an unrated item simply won't be exist in the table. > > Or I can store a integer (with a choice tupled defined), with say > 0=unrated, 1=like, 2 = unlike, and all possible combinations are listed. > > We'll be doing queries to compare users, and see if their likes/dislikes > intersect. > > Are there any pros/cons of the two approaches for this given query, or is > there perhaps a more efficient way of storing this data? > > Cheers, > Victor >
Django has a NullBooleanField that allows 3 states, Unknown (null), True, False. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. For more options, visit https://groups.google.com/groups/opt_out.

