我的观点:
@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值等。 注意:当我用来指导我的模型时,我的模板页面是旧值。