Django 的 get_object_or_create() 在部署服务器上无效
我在使用 get_or_create 这个功能时遇到了大麻烦。在我本地运行的时候一切都很好,而且同样的脚本在另一个网站上也能正常工作。有没有人知道这是怎么回事?
每次我运行这个脚本时,都会出现“IntegrityError: (1062, "Duplicate entry '2147483647' for key 'PRIMARY'")”的错误...
for tweet in TwitterSearchFeed.entries:
if tweet.id[0:3] == 'tag':
tweet_id = tweet.id.split(':')[2] # tweet.id[tweet.id.rindex(':')+1:] #tag:search.twitter.com,2005:10016544708
screen_name = tweet.author.split('(')[0].strip()
text = smart_unicode(tweet.title)
pub_time = time.strptime(tweet.published, "%Y-%m-%dT%H:%M:%SZ") #2010-01-01T22:20:55Z
pub_time = datetime.datetime.fromtimestamp(time.mktime(pub_time)) # UTC
name = tweet.author.split('(')[1].split(')')[0].strip()
# make sure tweet comes after 30 mins before kickoff
if pub_time > (game.kickoff - datetime.timedelta(minutes=30)):
# filter RTs
if not text[0:3] == "RT ":
# add or get tweet
tweet_dict = {
'twitter_id': tweet_id,
'pub_time': pub_time,
'text': text,
'name': name,
'username': screen_name,
'game': game,
'atthegame': atthegame
}
obj, created = Tweet.objects.get_or_create(twitter_id=tweet_id, defaults=tweet_dict)
if created:
output += "Tweet added - %s, %s, '%s'<br />" % (tweet_id, screen_name, text)
else:
output += "Tweet %s already exists<br />" % tweet_id
else:
output += "Tweet id error<br />"
return HttpResponse(output)