Nil*_*Kar 2 python django django-views
谁能解释一下这个错误是什么意思??
我在我的 views.py 中做到了这一点:
class FormListView(FormMixin, ListView):
def get(self, request, *args, **kwargs):
# From ProcessFormMixin
form_class = self.get_form_class()
self.form = self.get_form(form_class)
# From BaseListView
self.object_list = self.get_queryset()
allow_empty = self.get_allow_empty()
if not allow_empty and len(self.object_list) == 0:
raise Http404(_(u"Empty list and '%(class_name)s.allow_empty' is False.")
% {'class_name': self.__class__.__name__})
context = self.get_context_data(object_list=self.object_list, form=self.form)
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
return self.get(request, *args, **kwargs)
class CompanyListView(LoginRequiredMixin,FormListView):
model = Company
form_class = daterangeform
paginate_by = 10
def get_queryset(self):
return company.objects.filter(User=self.request.user)
def get_context_data(self, **kwargs):
context = super(companyListView, self).get_context_data(**kwargs)
context['selectdate_list'] = selectdate.objects.filter(User=self.request.user).latest()
return context
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ValueError: earliest() and latest() require either fields as positional arguments or 'get_latest_by' in the model's Meta.
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释我的代码有什么问题以及以正确方式执行它的可能解决方案......
谢谢
如latest(*fields)[Django-doc]文档中所述:
根据给定的字段返回表中的最新对象。
此示例
Entry根据pub_date字段返回表中的最新内容:Run Code Online (Sandbox Code Playgroud)Entry.objects.latest('pub_date')
因此,如果您想获取关于字段的最新对象(例如updated_date),您可以将其写为:
selectdate.objects.filter(
User=self.request.user
).latest('updated_date')
Run Code Online (Sandbox Code Playgroud)
您可以使用,无论在latest() 无参数,给你指定的顺序为这个Meta类的模型,像:
class Foo(models.Model):
name = models.CharField(max_length=20)
class Meta:
get_latest_by = ['name']Run Code Online (Sandbox Code Playgroud)
在这种情况下
Foo.objects.latest()
Run Code Online (Sandbox Code Playgroud)
将给出最大的Foo对象(如果我们在这里按字典顺序比较名称)。 name
| 归档时间: |
|
| 查看次数: |
3065 次 |
| 最近记录: |