97👍
The way you’re already doing it is the best way.
If it’s a model-agnostic way of doing this you’re looking for, don’t forget that you can do query.exclude(pk=instance.pk)
.
Just as an aside, if Django’s ORM had an identity mapper (which it doesn’t at present), then you would be able to do something like MyModel.objects.filter(<query>).all().remove(<instance>)
, but you’re out of luck in that regard. The way you’re doing it (or the one above) is the best you’ve got.
Oh, and also you can do much better than that in
query with a list comprehension: query.exclude(id__in=[o.id for o in <unwanted objects>])
8👍
The Given answer is perfect and try this which works fine for me
step 1)
from django.db.models import Q
step 2)
MyModel.objects.filter(~Q(id__in=[o.id for o in <unwanted objects>]))
- [Django]-How to submit form without refreshing page using Django, Ajax, jQuery?
- [Django]-How do you know if memcached is doing anything?
- [Django]-PIL /JPEG Library: "decoder jpeg not available"
2👍
You can put your unwanted items in a list , and a fetch all items except those in the list like so:
MyModel.objects.exclude(id__in=[id1,id2,id3 ])
- [Django]-Find Monday's date with Python
- [Django]-How to create a user in Django?
- [Django]-Django won't refresh staticfiles