djongo icon indicating copy to clipboard operation
djongo copied to clipboard

ignored 'title' keyword when using date range

Open junshoong opened this issue 3 years ago • 3 comments

One line description of the issue

Ignored title field condition when I use multiple filter.

Python script


date_range = (datetime.datetime(2021, 2, 28, 15, 0), datetime.datetime(2021, 3, 31, 14, 59, 59, 999000))
queryset = Mymodel.objects.filter(server='node1', title='test_title', start_date__range=date_range)
print(str(queryset.query))

SELECT "mymodel"."_id", "mymodel"."server", "mymodel"."jobid", "mymodel"."title", "mymodel"."start_date" FROM "mymodel" WHERE ("mymodel"."server" = node1 AND "mymodel"."start_date" BETWEEN 2021-02-28 15:00:00 AND 2021-03-31 14:59:59.999000 AND "mymodel"."title" = test_title)

in mongo db profile

	"command" : {
		"find" : "mytable",
		"filter" : {
			"$and" : [
				{
					"server" : {
						"$eq" : "node1"
					}
				},
				{
					"start_date" : {
						"$gte" : ISODate("2021-02-28T15:00:00Z"),
						"$lte" : ISODate("2021-03-31T14:59:59.999Z")
					}
				}
			]
		},
		"projection" : {
			"_id" : 1,
			"server" : 1,
			"jobid" : 1,
			"title" : 1,
			"start_date" : 1,
		},
		"lsid" : {
			"id" : UUID("xxxxxxxx")
		},
		"$db" : "mydb",
		"$readPreference" : {
			"mode" : "primaryPreferred"
		}
	},

junshoong avatar Mar 26 '21 08:03 junshoong

Did you resolve this issue?

jtjisgod avatar Sep 09 '21 06:09 jtjisgod

Did you resolve this issue?

nope, I just change my field name.

junshoong avatar Sep 09 '21 10:09 junshoong

Can this pr help? https://github.com/doableware/djongo/pull/642

HeyiSun avatar Sep 30 '22 05:09 HeyiSun