2013-01-25 5 views
1

Я создаю киоск магазина в django, и у меня есть представление, которое отображает некоторые проданные товары в пределах временного диапазона, например;django просмотров с django tastypie

 
def product_sold_report(request): 
    response = {} 
    id_list = [] 
    try: 
     _start = _get_parameter(request, "_start") 
    except Exception, e: 
     _start = None 

    try: 
     _end = _get_parameter(request, "_end") 
    except Exception, e: 
     _end = None 

    if _start and _end: 
     orders = Order.objects.filter(created__range=[datetime.datetime.fromtimestamp(float(_start)),datetime.datetime.fromtimestamp(float(_end))]).filter(status = 4).order_by("-created") 
    else: 
     orders = Order.objects.all().filter(status=4).order_by("-created") 

    for order in orders: 
     id_list.append(order.id) 

    for item in OrderItem.objects.filter(order__in = id_list): 
     i = Order.objects.get(id = item.order_id) 
     try: 
      product = Product.objects.get(id = item.product_reference) 
      barcode = product.barcode 
     except Exception,e: 
      barcode = None 



     if item.product_name in response: 
      response[item.product_name]["product_quantity"] += item.quantity 
     else: 
      response[item.product_name] = { 
       "product_quantity":item.quantity, 
       "product_barcode":barcode 


      } 

    return HttpResponse(simplejson.dumps(response), mimetype="text/json") 

Однако, я хочу использовать остальное рамки, так что я могу иметь различный веб-приложение на другом сервере запрос этого приложение и получить те же продукты, продаваемые результаты, я рассмотрел django tastypie, но это, кажется, основные много по ресурсам моделей. Возможно ли это сделать, используя django tastypie или django rest framework.

Благодаря

ответ

0

Вам не нужен полный успокоительный сервис, чтобы получить те же результаты. Пока ваши взгляды возвращают хорошо сформированные данные JSON. Просто используйте хорошие URL-шаблоны в url.py, которые сопоставляются с вашими функциями просмотра.

Вы можете изготовить шаблоны URL так же, как tastypie/API/v1/products_sold/ Просто работать с некоторыми регулярными выражениями - и убедитесь, что URLS просто имеет смысл

+0

Спасибо большого Взлом Жизнь за ответ, я думаю, что я буду сделайте именно это, потому что я не могу найти способ получить django tastypie, чтобы вернуть данные, которые мне бы хотелось. Кстати, как вы думаете, какие пользовательские представления будут иметь какие-либо проблемы с производительностью? Спасибо –

+0

Нет, если вы уверены, что ваши запросы эффективны. Удостоверьтесь, что при работе с вашими данными вы попадаете в данные с тем, что вам нужно ОДНАЖДАТЬ, а затем, возможно, изучите такие вещи, как синтаксический анализ через словарь данных, который возвращается. Чем меньше вы попадаете на сервер для получения дополнительной информации, тем лучше –