位于/api/project/“Query”对象的AttributeError没有属性“Query\u terms”tastypi

2024-09-30 20:19:50 发布

您现在位置:Python中文网/ 问答频道 /正文

class Project(models.Model):
     project_name = models.CharField(max_length=100,default=None)
     user = models.ForeignKey(User, on_delete=models.CASCADE)
     intro = models.TextField(default=None)
     start_date = models.DateField()
     end_date = models.DateField()

    def __str__(self):
       return self.project_name



class UserResource(ModelResource):
     class Meta:


class ProjectResource(ModelResource):
     user = fields.ToManyField(UserResource, 'user',  full=True)

    class Meta:
       queryset = Project.objects.all()
       resource_name = 'project'
       allowed_methods = ['post', 'get']
       authorization = DjangoAuthorization()

tastypie新手,当我跟踪文档时,在api url(api/project/)上发现属性错误,不知道查询项的含义,尝试搜索,提前感谢

^{pr2}$

Tags: nameselfprojectnoneapidefaultdatemodels
1条回答
网友
1楼 · 发布于 2024-09-30 20:19:50

似乎当前版本的Django和tastype不太协调。 修复隐藏在Nelly Ngo给出的链接中,更具体地说是here。在

一个临时的解决办法是修补Tastype/资源.py. 在我的系统上的/usr/local/lib/python3.5/dist-packages/tastype。在

更换管路:

if getattr(self._meta, 'queryset', None) is not None:
    # Get the possible query terms from the current QuerySet.
    query_terms = self._meta.queryset.query.query_terms
else:
    query_terms = QUERY_TERMS

有:

^{pr2}$

以及

query_terms = query_terms | set(GeometryField.class_lookups.keys())

有:

query_terms |= set(GeometryField.class_lookups.keys())

相关问题 更多 >