Opened 6 years ago
Last modified 6 years ago
#30480 closed Bug
Discrepancy in `DateTime` field value If the django orm union() is used with the empty array in the filter. — at Version 1
| Reported by: | Shashank Parekh | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
class detail(models.Model):
date_field = models.DateTimeField(null=True, index=True)
guid = models.CharField(null=True, index=True)
mobile = models.CharField(null=True, index=True)
id = models.CharField(null=True, index=True)
p=detail.objects.filter(guid__in=[]).order_by('-date_field')
q=detail.objects.filter(mobile__in=['8970405058']).order_by('-date_field')
v = (p.union(q)).order_by('-date_field')
v[0].date_field # Output is '2018-10-08 12:51:39'.
For this case, instead of getting datetime value, getting the string value.
p=detail.objects.filter(guid__in=['some_garbage_value']).order_by('-date_field')
q=detail.objects.filter(mobile__in=['8970405058']).order_by('-date_field')
v = (p.union(q)).order_by('-date_field')
v[0].date_field . # Output is datetime.datetime(2018, 10, 8, 12, 51, 39)
If I don't pass the empty array in filtering then getting the DateTime value.
p=detail.objects.filter(guid__in=['some_garbage_value']).order_by('-date_field')
q=detail.objects.filter(mobile__in=['8970405058']).order_by('-date_field')
v = (p.union(q))
v[0].date_field . # Output is datetime.datetime(2018, 10, 8, 12, 51, 39)
If I pass the empty array but withour order_by clause then getting the DateTime value.
There is a discrepancy in DateTime field value If the union is used with the empty array in the filter.
Change History (1)
comment:1 by , 6 years ago
| Description: | modified (diff) |
|---|---|
| Summary: | Discrepancy in `DateTime` field value If the django orm union() is used with the EmptyQuerySet. → Discrepancy in `DateTime` field value If the django orm union() is used with the empty array in the filter. |
Note:
See TracTickets
for help on using tickets.