Я работаю над проектом Джанго, который имеет большой прибор, который не делает нагрузки:Как добавить pdb к неудачным сценариям Python?
$ python manage.py loaddata apps/mainsite/fixtures/test_auctions.json
/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/fields/subclassing.py:80: DeprecationWarning: A Field class whose get_db_prep_save method hasn't been updated to take a `connection` argument.
new_class = super(SubfieldBase, cls).__new__(cls, name, bases, attrs)
/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/fields/subclassing.py:80: DeprecationWarning: A Field class whose get_db_prep_lookup method hasn't been updated to take `connection` and `prepared` arguments.
new_class = super(SubfieldBase, cls).__new__(cls, name, bases, attrs)
/Users/cp/bidsite/.ve/lib/python2.6/site-packages/celery/task/schedules.py:5: DeprecationWarning: celery.task.schedules is deprecated and renamed to celery.schedules
"celery.task.schedules is deprecated and renamed to celery.schedules"))
Problem installing fixture 'apps/mainsite/fixtures/test_auctions.json': Traceback (most recent call last):
File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/core/management/commands/loaddata.py", line 174, in handle
obj.save(using=using)
File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/core/serializers/base.py", line 165, in save
models.Model.save_base(self.object, using=using, raw=True)
File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/base.py", line 570, in save_base
created=(not record_exists), raw=raw, using=using)
File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/dispatch/dispatcher.py", line 172, in send
response = receiver(signal=self, sender=sender, **named)
File "/Users/cp/bidsite/apps/mainsite/models.py", line 257, in update_auction_details
auction_json = instance.as_json()
File "/Users/cp/bidsite/apps/mainsite/models.py", line 1110, in as_json
'product': self.product.as_json(),
File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/fields/related.py", line 315, in __get__
rel_obj = QuerySet(self.field.rel.to).using(db).get(**params)
File "/Users/cp/bidsite/.ve/lib/python2.6/site-packages/django/db/models/query.py", line 349, in get
% self.model._meta.object_name)
DoesNotExist: Product matching query does not exist.
Проблема заключается в том, что StackTrace не дает мне ключ к пониманию того, что линия на арматуре вызывает эту ошибку. Как я могу отладить это? Единственное, что я могу придумать, это функция ipythgon, где всякий раз, когда вы что-то выполняете и возникает исключение, ipython автоматически вводит подсказку pdb, чтобы вы могли приблизиться, чтобы выяснить, что произошло. Как я могу это сделать с этим? Есть ли переключатель командной строки для python, который это делает? Что я могу сделать здесь, чтобы отладить это?
+1 cool adam! Спасибо, что поделился. Закладка для, когда я вытягиваю свои волосы в будущем. Надеюсь, я это помню. –