Opened 7 years ago
Closed 7 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 , 7 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 7 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
Campaignobject by assigning a string value tostart_dateit will keep it for the duration of its lifetime, it isn't converted to adatetimeobject 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.