下午好,
我有三个模型链接到彼此,Perfil,Puesto和Tags。 Perfil模型继承自Abstractuser。对于这个模型,它已经添加了一个额外的信息'puesto de trabajo(job)',它在下面显示的模型中创建。
models.py
class ComentarioListar (LoginRequiredMixin,ListView):
login_url='/'
redirect_field_name='redirigido'
model = Comentario
template_name = 'home/comentario_listar.html'
def get_queryset(self):
aa=Puesto.objects.filter(nombre_puesto=self.request.user.nom_puesto)
return Comentario.objects.exclude(autor__id=self.request.user.id)
b=Perfil.objects.filter(nom_puesto=self.request.user)
c=Puesto.objects.filter(nombre_puesto=b)
return Comentario.objects.filter(tag__id=c)
标签模型在另一个应用程序中创建,请看:
models.py
select
此外,我创建了另一个应用程序来创建可以添加标签的注释。
目标是显示其标签适合用户个人资料标签的评论。为了达到这个目的:
views.py
var result = Convert.ToString((byte)symbole, 2).PadLeft(8, '0').Select(bit => bit == '1').ToList();
这不起作用,太疯狂了!有人知道如何只显示符合用户标签的评论吗?
感谢您的回答!!!
答案 0 :(得分:0)
可以在Perfil.nom_puesto.etiquetas.all()
找到给定用户的标签。
要仅查找与给定用户具有共同标记的Comentario
个对象,假设Comentario
与Tags
的{{1}}具有多对多关系,则称为tags
:< / p>
>> user_tags = request.user.nom_puesto.etiquetas.all()
>> matching_comments = Comentario.objects.filter(tags__in = user_tags).distinct()
将对象列表传递给__in
将它们转换为引擎盖下的主键;然后Django为每个匹配创建一个带有Comentario
对象的查询集。如果用户和评论有多个共同的标签,那么您会看到重复的结果,因此使用distinct()
。