简体   繁体   English

Django taggit 查询错误:必须是“model_name”实例

[英]Django taggit query error: must be "model_name" instance

I have a very simple Photo class which uses django_taggit我有一张非常简单的照片 class 使用 django_taggit

class Photo(models.Model):
    ... some other fields
    tags = TaggableManager(blank=True)

Oddly enough, even simple query like this:奇怪的是,即使是这样的简单查询:

blue_tag = Tag.objects.get(name='blue')
q1 = Photo.objects.filter(tags=blue_tag)
some_tags = Tag.objects.filter(name__icontains='b')
q1 = Photo.objects.filter(tags__in=some_tags)

will result in the following error....将导致以下错误....

Cannot query "blue": Must be "Photo" instance.

Which is odd...given the fact that I'm passing Tag objects...这很奇怪......鉴于我正在传递 Tag 对象......

Well... I just reinstalled the all package forcing an upgrade like so好吧...我刚刚重新安装了所有 package 强制升级

pip install --upgrade --force-reinstall django-taggit

when doing so be carefull in faking migrations这样做时要小心伪造迁移

python manage.py migrate --fake

So you do preserve the DB.所以你确实保留了数据库。

Hope is can be helpful to others希望可以对其他人有所帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM