get_or_create を使用してアイテムが存在するかどうかを確認するためにアイテムを反復処理する Django を使用しています。今、私はこの問題を抱えています
def insert_titles(self):
game = None
title = None
for k,v in self.data.items():
game_exists = Game.objects.all().get_or_create(game_name=v['title']) #will get RuntimeError: maximum recursion depth exceeded in cmp
print game_exists
基本的に、これは cron ジョブとして実行されるスクリプトなので、必要なポイントに到達するには、一連の項目を反復処理する必要があります
while True:
try:
data = strategy.process()
filter = FilterGames(data, link)
ゲームコードのフィルタリング:
def __init__(self, data):
self.data = data
self.insert_titles()
print "init"
私は過去に Play Framework でこれを行ったことがあります。おそらく、まだ Python の経験が浅いため、間違った見方をしている可能性があります。このタイプのエラーが発生した場合の続行方法がわかりません。構造を少し変更しようとしましたが、役に立ちませんでした。奇妙なことに、 a を使用するstring
とgame_name
期待どおりに動作しますが、ループから収集したデータを使用すると、そのエラーがスローされ始めます。
最後に、この種のエラーを修正する方法を知りたいと思います。うまくいけば、なぜそうなるのかをもう少し理解できれば幸いです。