int()的无效文字,基数为10的Django,有效整数时间戳

时间:2017-04-26 15:55:45

标签: python django

我有一个图表库,需要我在epoch / Unix时间戳时间戳中的数据。

所以我把它转换成这样:

    ydm = 20170101
    ymd = ms['dimensions'][0] + '-' + '235959'
    d = datetime.datetime.strptime(ymd,'%Y%m%d-%H%M%S')
    date = d.strftime('%Y-%m-%d')
    ts = int(d.strftime("%s")) * 1000

这很好用,因此我得到了一个人类可读的字段2017-04-08和我的时间戳1491695999000

我正在尝试保存我的数据库中的两个字段,我首先尝试使用IntegerField,但我收到了上述错误,我认为这是因为时间戳是如此之大的数字所以我还尝试了一个BigIntegerField,但我一直在接收一个随机(?)数字的错误:invalid literal for int() with base 10: '100.0'这个数字总是一个点,我猜这就是为什么django没有接受它。

我的观点看起来像这样:

    print('time stamp is: '+str(ts)) # This is an int and the result is something like this: `time stamp is: 1491868799000`

    # Save Metrics to DB
    gp = GoogleProperty.objects.get(google_email=current_user)
    user_id = int(gp.user_id)
    property_id = gp.property_id
    property_name = gp.property_name
    obj, created = GaCountries.objects.get_or_create(property_id=property_id, date=date, country=country,
                                                defaults={
                                                            'owner':user_id,
                                                            'property_id':property_id,
                                                            'date':date,
                                                            'property_name':property_name, # Remove Later
                                                            'country':country,
                                                            'sessions' : sessions,
                                                            'users' : users,
                                                            'pageviews' : pageviews,
                                                            'bouncerate': bouncerate,
                                                            'timestamp' : ts,
                                                            })
    if not created: # If exists which data should be replaced:
         obj.date = date 
         ---ETC

行中出现问题:'timestamp' : ts,但我确定ts是一个整数且数据正确。

现在的模型是:

timestamp = models.BigIntegerField(blank=True, null=True)

但我也试过其他类型的领域......

有什么想法吗?

0 个答案:

没有答案