首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django Silk分析错误

Django Silk分析错误
EN

Stack Overflow用户
提问于 2018-03-17 00:35:11
回答 1查看 394关注 0票数 0

我正在尝试在我的开发环境中使用django-silk分析器。

页面成功呈现,但在控制台中显示以下错误,并且silk页面中没有可用的分析数据。

代码语言:javascript
复制
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。

文章数据库模型:

代码语言:javascript
复制
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

代码语言:javascript
复制
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 )   
EN

回答 1

Stack Overflow用户

发布于 2018-04-18 01:46:06

转到silk包的文件collector.py,并将第183行从:

代码语言:javascript
复制
profile.queries = profile_query_models

至:

代码语言:javascript
复制
profile.queries.set(profile_query_models)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49325606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档