Opened 7 years ago
Last modified 7 years ago
#29424 closed Bug
Datetime objects parsed as strings when signals used - Django 1.9.5 — at Version 1
Reported by: | Adrian Castellanos | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | |
Severity: | Normal | Keywords: | signals model |
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 )
I found a strange behavior when accesing objects models using signals. The model is declared as:
class Campaign(models.Model): start_date = models.DateTimeField(null=True, blank=True) end_date = models.DateTimeField(null=True, blank=True)
When I use signals to connect the changes of the model with a function, a found that the instance that is passed as argument has strings instead of datetime in the dates:
The code of the conection between the model and the function is:
def export_campaign_to_mongo(sender, instance, *args, **kwargs): check_dates() post_save.connect(export_campaign_to_mongo, Campaign)
This is the output of the console checking the types of the objects:
>>>type(instance) <class 'campaigns.models.Campaign'> >>>instance.start_date '2018-04-11T00:00:00' >>>from campaigns.models import Campaign >>>Campaign.objects.first().start_date datetime.datetime(2016, 10, 10, 0, 0)
I am using Django v1.9.5.
Note:
See TracTickets
for help on using tickets.