[英]Django Silk Profiling error
我正在嘗試在開發環境中使用django-silk profiler。
該頁面成功呈現,但是在控制台中顯示以下錯誤,並且絲綢頁面中沒有任何概要分析數據。
Exception when performing meta profiling, dumping trace below
Traceback (most recent call last):
File "site-packages/silk/middleware.py", line 122, in _process_response
collector.finalise()
File "site-packages/silk/collector.py", line 183, in finalise
profile.queries = profile_query_models
File "site-packages/django/db/models/fields/related_descriptors.py", line 509, in __set__
% self._get_set_deprecation_msg_params(),
TypeError: Direct assignment to the forward side of a many-to-many set is prohibited. Use queries.set() instead.
我正在使用python 3.6和Django 2.0.3。
文章數據庫模型:
class Article (models.Model):
message = models.TextField ()
user = models.ForeignKey ( Users,
on_delete=models.CASCADE, editable = False,
related_name = 'articles' )
view_count = models.PositiveSmallIntegerField (default = 0 )
created_at = models.DateTimeField ( auto_now_add = True, editable = False )
updated_at = models.DateTimeField ( auto_now = True, editable = False )
class Meta:
db_table = 'articles'
verbose_name_plural = "Articles"
用戶模型是django的默認用戶模型。
view.py
class ArticleListCreateView(View):
@silk_profile(name='Article List Profiler')
def get (self, request, *args, **kwargs):
......
# code for checking permission
# and setting limit-offset variable
......
try:
articles = Article.objects.filter(user=request.session.user).order_by('-created_at'
).values('message', 'view_count')[offset:limit]
except Exception as e:
raise CustomException ('Server Error. Unable To Retrive Articles', 500)
return JsonResponse( articles, safe = False )
轉到Silk包的文件collector.py並將183行更改為:
profile.queries = profile_query_models
至:
profile.queries.set(profile_query_models)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.