python - Django - 无法查询用户名,必须是 Tagulous_Post_season 的实例
问题描述
大家下午好,
我只是想知道是否有人可以就如何解决以下错误提供任何指导或提示:
Cannot query [username], Must be instance of Tagulous_Post_season
我试图在我的 PostListView 类中返回两个不同的过滤器,但是当试图获取已分配给我的用户以前帖子的 Tagulous 标签列表时,我收到了上面引用的错误。
视图.py
class PostListView(LoginRequiredMixin, ListView):
model = Post
template_name = 'core/home.html'
context_object_name = 'posts'
ordering = ['-date_posted']
paginate_by = PAGINATION_COUNT
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
all_users = []
data_counter = Post.objects.values('author')\
.annotate(author_count=Count('author'))\
.order_by('-author_count')[:6]
for aux in data_counter:
all_users.append(User.objects.filter(pk=aux['author']).first())
# if Preference.objects.get(user = self.request.user):
# data['preference'] = True
# else:
# data['preference'] = False
data['preference'] = Preference.objects.all()
# print(Preference.objects.get(user= self.request.user))
data['all_users'] = all_users
print(all_users, file=sys.stderr)
return data
def get_queryset(self):
user = self.request.user
qs = Follow.objects.filter(user=user)
follows = [user]
instance = Post()
#taguser = Post.objects.filter(season=self.request.user)
taguser = Post.season.tag_model.objects.all()
for obj in qs:
follows.append(obj.follow_user)
return Post.objects.filter(author__in=follows).filter(season__author=user).order_by('-date_posted')
模型.py
class Post(models.Model):
content = models.TextField(max_length=1000)
date_posted = models.DateTimeField(default=timezone.now)
image = models.ImageField(default='default.png', upload_to='srv_media')
author = models.ForeignKey(User, on_delete=models.CASCADE)
likes= models.IntegerField(default=0)
dislikes= models.IntegerField(default=0)
title = tagulous.models.SingleTagField(initial="Mr, Mrs, Miss, Ms")
season = tagulous.models.TagField(
autocomplete_view='swaptags_season_autocomplete'
)
def __str__(self):
return self.content[:5]
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
output_size = (300, 300)
img.thumbnail(output_size)
img.save(self.image.path)
@property
def number_of_comments(self):
return Comment.objects.filter(post_connected=self).count()
任何帮助将不胜感激!
谢谢。
解决方案
推荐阅读
- javascript - 为什么我在 Angular2+ 中尝试填充自定义日历时会在 11 月得到两个日期/时间
- c# - Unity 不能有固定的位置
- angular - 如何从角度材料`mat-menu`中获取所选项目
- arrays - 如何根据名称从数组中删除特定的孩子
- python - how to pass an database exists in Postgresql server using python
- java - maven compilation failure on Jenkins while using Java 13
- javascript - Axios 标头不起作用 Laravel 和 Vue.js
- biztalk - Getting error "There was a failure executing the send pipeline" for json-encoded pipeline
- angular - Angular 9 Ionic 5 httpclient post sending empty array
- r - Appropriate procedure for using group_by() %>% summarize() %>% mutate() with sf objects