- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试从 Django 1.4.15 -> 1.7.3 移植一个应用
我遇到了一个问题,应用程序在 models.py 中有一个方法
def is_votable(self, user):
'''
Decides if the user can vote for him/herself or not
'''
if self.rated_by.all().__contains__(user):
return False
return True
我遇到的问题是在这一行:
if self.rated_by.all().__contains__(user):
产生错误的原因:
'QuerySet' object has no attribute '__contains__'
我可能是瞎子,因为我看不出 __contains__
在 Django 中被弃用的地方。非常感谢任何帮助。也只需询问您是否需要更多信息。
最佳答案
您几乎不应该在代码中调用像 __contains__
这样的双下划线方法。在几乎所有情况下,您都使用 in
运算符:
if user in self.rated_by.all():
请注意,这是 Python 范围内的事情:例如,不是调用 mylist.__length__()
,而是调用 len(mylist)
,而不是调用 myobj.__unicode__()
你做 unicode(myobj)
等
不过,在这种特殊情况下,您可能还会发现执行查询更有效:
if self.rated_by.filter(user_id=user.id).exists():
这将针对单个 EXISTS 查询命中数据库。如果您没有在该特定对象的任何其他地方使用 rated_by
查询集,这肯定比查询 all()
和检查成员资格更有效。
关于python - 'QuerySet' 从 Django 1.4 到 1.7 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28281499/
我正在这里使用这些模型开展一个小项目,我正在尝试找出一种方法来获取一组与当前经过身份验证的用户正在关注的用户关联的所有帖子。 但我不断得到: Cannot use QuerySet for "Prof
基本上我需要一种优雅的方式来执行以下操作:- obj1 = Model1.objects.select_related('model2').get(attribute1=value1) obj2 =
我想知道在删除查询集中的对象时迭代 Django 查询集的最佳方法是什么?例如,假设您有一个包含特定时间条目的日志表,并且您希望将它们存档,以便每 5 分钟不超过 1 个条目。我知道这可能是错误的,但
我今天发现我可以通过索引引用它们来访问查询集中的元素,即 queryset[n] .然而,紧接着我发现queryset[0]不返回与 queryset.first() 相同的记录.为什么会这样,并且是
我看到 QuerySet 类有 2 个不同的方法似乎服务于相同的目的(除非我弄错了):.__nonzero__ 和 .exists 。 (是的,我知道 .__nonzero__ 被 bool 使用。)
我怎样才能让下面的东西起作用? player = Player.objects.get(pk=player_id) game = Game.objects.get(pk=game_id) game_p
我正在使用 Django 1.6 并有如下问题陈述: 假设有两个模型,作者和书籍,那么作者和书籍模型显然是一对多的关系。 现在,我需要显示作者的数据,以便他写的每本书都有一行。 由于 UI 部分在主干
我真的不明白是什么导致了错误我检查了文档,这里有一个非常相似的例子是我的 views.py,我使用的应用程序下的 urls.py 包含,以及模板 View .py class SchoolListVi
几个月来我一直有一个间歇性的错误,我被卡住了!帮助表示赞赏。 class ContentFile(models.Model): """ Represents the metadata
我有几个模型,想要返回属于一个用户的所有模型的查询集,我想知道是否可以从多个模型返回一个查询集? 最佳答案 我假设您的意思是您想从每个模型返回属于用户的所有对象的单个查询集。 你需要一个查询集还是一个
我试图从两个没有外键关系的表中获取结果,只是想知道我使用的方法是否正确。 django.db import models django.contrib.auth.user import User cl
根据 Django REST framework documentation ,以下两个代码片段的行为应该相同。 class UserViewSet(viewsets.ViewSet): ""
我已经在models.py中编写了这些模型: 类User(models.Model): first_name = models.CharField(最大长度= 80) 类Skill(models.Mo
如何在单个表达式中从多对一关系的过滤结果中获取最新值以注释 Django QuerySet? 给定这个玩具模式: from django.db import models class Lorem(mo
我看到很多类似的查询,但似乎没有一个能满足我的需求, 我有一个这样的表: class BGPData(models.Model): subnet = models.ForeignKey(Sub
请问我为什么在我的模板中显示“fav”时收到此错误消息 QuerySet object has no attribute game_id 我试图更换 game_id来自 game , id_game但
我想从字面上将字符串添加到查询集对象。为什么,因为我将它发送到 JSON,将信息放在那里并使其可用而无需遍历查询集将其转换为自定义字典,这将非常好和干净。 我现在所拥有的: a_vote_set.ag
给定一个模型 class Entity(models.Model): identifier = models.IntegerField() created = models.Integ
我的一些对象管理器中有一个方法,它从数据库中获取数据: def products(self, offset=None) 如果没有 offset通过,它只是返回所有对象(大约 5000 个,没有那么多)
我在 StorySerializer 中的 GET/api/stories/169/ 上收到以下错误,如下评论中所述: AttributeError at /api/stories/169/ 'Man
我是一名优秀的程序员,十分优秀!