Opened 6 years ago
Closed 6 years ago
#29424 closed Bug (invalid)
Datetime objects parsed as strings when signals used - Django 1.9.5
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.
Change History (2)
comment:1 by , 6 years ago
Description: | modified (diff) |
---|
comment:2 by , 6 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Hello Adrian,
This has little to do with signals. If you create a
Campaign
object by assigning a string value tostart_date
it will keep it for the duration of its lifetime, it isn't converted to adatetime
object on assignment.In general, please direct such questions to the available help channels. I am closing this ticket as invalid, for more details see TicketClosingReasons/UseSupportChannels.