Saturday, 15 January 2011

python - Django query filter exclude repeated items -



python - Django query filter exclude repeated items -

i want filter message this

messages = message.objects.filter(who_id=logged_user) | q(whose_id=logged_user)

my result =

who : 1 , : 2 : 2 , : 1 : 1 , : 2 : 2 , : 1 : 1 , : 3

but want result

who : 1 , : 2 : 1 , : 3

my model

class message(models.model): uuid = uuidfield(auto=true) = models.foreignkey(user,blank=true,related_name="who_%(class)s_objects") = models.foreignkey(user,blank=true,related_name="whose_%(class)s_objects") message = models.textfield() time = models.datetimefield(auto_now=true)

how exclude other results?

your query

messages = message.objects.filter(who_id=logged_user) | q(whose_id=logged_user)

returns messages that:

have who_id = logged_user or have whose_id = logged_user.

from question appears want messages that

have who_id = logged_user

i.e

messages = message.objects.filter(who_id=logged_user)

should work.

if that's not you're after, please specify logic of query.

python django

No comments:

Post a Comment