Форум сайта python.su
Есть код:
try: obj = Tag.objects.get(user_id=user.id, content_type=obj_type, object_id=item_id) except ObjectDoesNotExist: obj = Tag.objects.create(user_id=user.id, content_object=ct_obj) obj.save()
Офлайн
Ну во-первых записи не одинаковые (pk разные)
Во-вторых- что имеется в виду под “спамить значения”? Конкретнее высказывайтесь, “кокаин все-таки” (с)
В третьих- потоки используются? Может быть проблема с GIL.
+ если база MySQL- сталкивался со странным поведением блокировки при выборке записей(хз что там Оракл накрутил в последних версиях), сменил на MariaDB- проблема исчезла.
Офлайн
1) Под спамить понимаю, передавать один и те же значения:
u = 1 id = 1 ct = ContentType Tag.objects.get(user_id=u, content_type=ct, object_id=id)
Отредактировано Silent50 (Июль 16, 2013 13:37:07)
Офлайн
try:
obj = Tag.objects.get(user_id=user.id, content_type=obj_type, object_id=item_id)
except ObjectDoesNotExist:
obj = Tag.objects.create(user_id=user.id, content_type=obj_type, object_id=item_id)
obj.save()
Так тоже косяки выскакивают?
Офлайн
кстати, если уж в БД записи не должны повторяться - может добавить unique_together?
Офлайн