Apoorva Srivastava
Apoorva Srivastava

Reputation: 388

Is it possible to query a query object in Django?

I am trying to query my postgres database from django, the query I'm using is

s = Booking.objects.all().filter(modified_at__range=[last_run, current_time], coupon_code__in=l)

Now I am changing this object of mine in some ways in my script, and not saving it to the database. What I want to know is that, is it possible to query this object now?

say, I changed my variable as

s.modified_at = '2016-02-22'

Is it still possible to query this object as:

s.objects.all()

or something similar?

Upvotes: 1

Views: 73

Answers (2)

ofnowhere
ofnowhere

Reputation: 1135

You could do something like this:

bookings = Booking.objects.all().filter(modified_at__range=[last_run, current_time], coupon_code__in=l)
for booking in bookings:
   booking.modified_at = 'some value'
   booking.save() # now booking object will have the updated value

Upvotes: 0

Risadinha
Risadinha

Reputation: 16666

The QueryManager is Django's interface to the database (ORM). By definition this means you can only query data that has been stored in the database.

So, in short: "no". You cannot do queries on unsaved data.

Thinking about why you are even asking this, especially looking at the example using "modified_at": why do you not want to save your data? (You might want to use auto_now=True for your "modified_at" field, btw.)

Upvotes: 1

Related Questions