【发布时间】:2013-08-18 12:24:29
【问题描述】:
我有如下:
class FacturasMonthArchiveView(MonthArchiveView):
queryset = Factura.objects.all()
date_field = "pedido__fecha_pedido"
make_object_list = True
allow_future = True
template_name = 'ventas/facturas.html'
context_object_name = 'facturas_list'
我有一个字段pedido在表Factura 中引用了一个包含许多信息的订单,其中一个字段是fecha_pedido我想将它用于通用视图MonthArchiveView,把它放在@ 987654326@ 不起作用你怎么能看到它所以我不知道我该怎么做,有什么想法吗?
问候!
使用两个模型进行编辑:
小儿科
class Pedido(models.Model):
referencia = models.CharField(max_length=255)
cliente = models.ForeignKey(Cliente,related_name="cliente",on_delete=models.PROTECT)
fecha_pedido = models.DateField()
fecha_entrega = models.DateField()
agencia_envio = models.ForeignKey(Envio, related_name="entrega",blank=True,null=True)
producto = models.ManyToManyField(Producto, through='Detalle_Pedido')
pendiente_de_factura = models.BooleanField(default=False)
def __unicode__(self):
return self.referencia
def save(self, *args, **kwargs):
super(Pedido, self).save(*args,**kwargs)
class Meta:
ordering = ["referencia","fecha_pedido"]
事实
class Factura(models.Model):
iva = models.FloatField(default=0.0)
pedido = models.ForeignKey(Pedido, related_name="pedido_factura")
def __unicode__(self):
return "Factura -> ",self.pedido.referencia
def save(self, *args, **kwargs):
super(Detalle_Pedido, self).save(*args,**kwargs)
class Meta:
ordering = ["pedido"]
编辑:回溯错误
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/ventas/facturas/2013/8/
Django Version: 1.5.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'widget_tweaks',
'dajaxice',
'dajax',
'suit',
'django.contrib.admin',
'south',
'ventas',
'chartit')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
25. return view_func(request, *args, **kwargs)
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/views/generic/base.py" in view
68. return self.dispatch(request, *args, **kwargs)
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
86. return handler(request, *args, **kwargs)
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/views/generic/dates.py" in get
333. self.date_list, self.object_list, extra_context = self.get_dated_items()
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/views/generic/dates.py" in get_dated_items
509. 'previous_month': self.get_previous_month(date),
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/views/generic/dates.py" in get_previous_month
111. return _get_next_prev(self, date, is_previous=True, period='month')
File "/Users/Tone/blog-env/lib/python2.7/site-packages/django/views/generic/dates.py" in _get_next_prev
761. result = getattr(qs[0], date_field)
Exception Type: AttributeError at /ventas/facturas/2013/8/
Exception Value: 'Factura' object has no attribute 'pedido__fecha_pedido'
【问题讨论】:
-
“不起作用”是什么意思?有什么错误,列表是空的还是什么?同时发布两个模型定义。
-
基本上与
pedido__fecha_pedido我正在尝试引用此字段以用作 date_field 但这不起作用,仅此而已,我正在使用两个模型进行编辑以澄清它.
标签: django django-views django-generic-views