Django'da not equal
'a benzer SQL oluşturmak için hariç tutmayı kullanabilirsiniz. Bir örnek olabilir.Sonuçları get_object_or_404 ile nasıl hariç tutulur?
Model.objects.exclude(status='deleted')
Şimdi bu harika çalışıyor ve hariç tutmak çok esnektir. Biraz tembel olduğum için, get_object_or_404
kullanırken bu işlevselliği almak istiyorum, ancak get_object_or_404
'da hariç tutmayı kullanamadığınız için bunu yapmanın bir yolunu bulamadım. Benim istediğim
böyle bir şey yapmaktır:
model = get_object_or_404(pk=id, status__exclude='deleted')
Ama ne yazık ki bu bir dışlama sorgu filtresi veya benzeri olmadığı gibi çalışmıyor. En iyi ben şimdiye kadar böyle bir şey yapıyor ile geldim:
object = get_object_or_404(pk=id)
if object.status == 'deleted':
return HttpResponseNotfound('text')
böyle bir şeyi yaparak, gerçekten artık kullanışlı bir liner olduğundan, get_object_or_404
kullanmanın noktası yendi.
object = get_object_or_404(pk=id, status__in=['list', 'of', 'items'])
Ama güncel listesini tutmak gerekir gibi bu çok sürdürülebilir olmazdı:
Alternatif yapabilirdim.İstenilen sonucu almak için get_object_or_404
'u kullanmak için django'da bir numara veya özellik eksik miyim merak ediyorum?
Bu gerçekten bir yanıt değil, ancak gerçekten silinmiş bir nesne için 404 istemezsiniz. Yumuşak silme noktasının tamamı, nesneyi "tam olarak" etrafında tutmaktır. –