If you want to fetch whole table or if you want to fetch n number of rows (lets try 30 in current case)
context = MyModel.objects.all()
context = MyModel.objects.all()[:30]
## You can iterate over the output as well
for e in MyModel.objects.all():
print(e.headline)
if you want to fetch data in specific order. – sign indicates descending
context = MyModel.objects.all().order_by('pub_date')
context = MyModel.objects.all().order_by('-pub_date')
Filtering
(name__startswith='Beatles')
#like clause
filter(name__contains='Smith')
Product.objects.filter(name__search='Shiny')
exluding
context = MyModel.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3)).exclude(headline='Hello')
if you want to fetch distinct values. Please note you can combineorder_by and distinct
context = MyModel.objects.all().distinct('blog')
context = MyModel.objects.all().order_by('pub_date').distinct('blog')
.values()
Returns a QuerySet
that returns dictionaries, rather than model instances, when used as an iterable.
context = MyModel.objects.all().distinct('blog').values()