2010-09-25 75 views
0

我在get_or_create调用时遇到了很大的麻烦。我有本地工作非常好,同一个脚本在另一个网站在线工作。有没有人知道发生了什么事?Django get_object_or_create()在部署服务器上不起作用

我得到 “IntegrityError:(1062, ”重复条目 '2147483647' 关键 '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) 

回答

相关问题