json在django中失败('tuple'对象没有属性'_meta')

时间:2015-07-30 15:00:44

标签: python json django

我的观点:

@csrf_exempt
def get_order_detail(request):
    order_id = request.GET['order_id']
    products_of_order = OrdersProducts.objects.filter(order=order_id).values('product__title', 'cargo_no', 'order',
                                                                         'units', "status").values_list()
    data = serializers.serialize("json", products_of_order)
    return HttpResponse(data, content_type="text/json", safe=False)

我的模特:

class OrdersProducts(models.Model):
    STATUS_CHOICES = (
        (u'0', _(u'cancel')),
        (u'1', _(u'waiting_for_payment')),
        (u'2', _(u'waiting_for_cargo')),
        (u'3', _(u'on_the_road')),
        (u'4', _(u'success_shipping')),
        (u'5', _(u'failure_shipping')),
        (u'6', _(u'return'))
    )
    units = models.PositiveSmallIntegerField(default=1, null=False, blank=False)
    status = models.CharField(max_length=1, choices=STATUS_CHOICES, default='1')
    cargo_no = models.CharField(max_length=11, default='', null=True, blank=False)
    product = models.ForeignKey(Products)
    order = models.ForeignKey(Orders)
    optional_price = models.ForeignKey(OptionalPrice, default=1)
    company_optional_price = models.ForeignKey(CompanyOptionalPrice, default=1)
    cdate = models.DateTimeField(auto_now_add=True)

我的模板:

$('.order-btn').click(function(event) {
        var order = $(this).data('id');
        var items = [];
        $('#table_order').find('tbody').empty();
        if ( order != "" ) {
            items.push ('');
            $.getJSON ( '{% url 'get_order_detail' %}', {order_id:order}, function(data) {
                console.log('sa');
                $.each ( data, function ( index, val ) {
                    console.log(data);
                    items.push ( '<tr><td>' + val.fields.order + '</td> <td>' + val.fields.product_name + '</td> <td>' + val.fields.units + '</td> <td>' + val.fields.optional_price + '</td> <td>' + val.fields.get_status_display + '</td>  <td>' + val.fields.cargo_no + '</td></tr>');
                    console.log(items)
                } );
                $('#table_order').find('tbody').append( items );
            } );
        }
    });

错误:

  

元组'对象没有属性'_meta'

我需要一个值('product__title','cargo_no','order','units',“status”)。如果我可以使用mymodel.objects.all(),请不要使用product.name值等。 注意:当我用来指导我的模型时,我的模板页面是旧值。

0 个答案:

没有答案