在我的 ListView 中,我希望通过从context_data登录的当前用户过滤数据:
views.py
import {ChangeDetectorRef, Component, OnInit, QueryList, ViewChildren} from '@angular/core';
import {MatDialog, MatExpansionPanel} from '@angular/material';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
questions = ['first', 'second'];
constructor(private cd: ChangeDetectorRef) {
}
@ViewChildren(MatExpansionPanel) matExpansionPanelQueryList: QueryList<MatExpansionPanel>;
extendQuestion() {
this.matExpansionPanelQueryList.changes.subscribe(
change => {
change.last.open();
this.cd.detectChanges();
}
);
this.questions.push('some-new-item');
}
}
我尝试使用 query_set 覆盖,但对于链接模型它仅仅有效
答案 0 :(得分:1)
好吧,您需要过滤所有这些查询。
context['dashboard_list']= Dashboard.objects.filter(user=self.request.user)[:15]
context['todo_list']= Todo.objects.filter(user=self.request.user).order_by('-pk')[:15]
等-假设您的模型都有一个指向用户模型的user
FK字段。
答案 1 :(得分:0)
请参阅下面的答案,它仍然有效,但是请不要忘记添加:
def get_queryset(self):
return self.model.objects.filter(user=self.request.user)
对于您的ListView,否则第一个模型仍将显示。