Size: a a a

Django [ru] #STAY HOME

2020 May 19

S

Stanley in Django [ru] #STAY HOME
D R
срочно спасайте! кто-то сталкивался?
может ты в reverse не тот параметр передал? metaloproduction например
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
Либо можно просто в параметрах гета передать всю дату
urls:
path('myurl/', myfunc, name='myurl'),

Views:
def myfunc(request):
 from django.http import JsonResponse
 if request.method == 'GET':
   date = request.GET.get('date')
   mytables = MyModel.objects.filter(date=date) # Выбираешь бронь столов на дату
   return JsonResponse({'mytables': mytables}, safe=False)
ругается
AttributeError: 'QuerySet' object has no attribute '_meta'
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
@WStanley сделал вот-так
def myfunc(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Order.objects.filter(date=date)
       ser_instance = serializers.serialize('json', [mytables, ])
       print(ser_instance)

       return JsonResponse({'mytables': ser_instance}, status=200, safe=False)
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
@WStanley сделал вот-так
def myfunc(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Order.objects.filter(date=date)
       ser_instance = serializers.serialize('json', [mytables, ])
       print(ser_instance)

       return JsonResponse({'mytables': ser_instance}, status=200, safe=False)
Даже незнаю может так надо
ser_instance = serializers.serialize('json', mytables)
источник

S

Stanley in Django [ru] #STAY HOME
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
Даже незнаю может так надо
ser_instance = serializers.serialize('json', mytables)
ну вот-так кстати работает)
правда возвращает пустой список
def myfunc(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Order.objects.filter(date=date)
       ser_instance = serializers.serialize('json', mytables)
       print(ser_instance)
       return JsonResponse({'mytables': ser_instance}, status=200)
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
@WStanley а можешь ещё подсказать как теперь в django template это обновлять правильно, именно таблицу со столами.
Сейчас у меня вот-так https://gist.github.com/boriskrutskih/658d412300aee119f84c166ebc4f8380
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
ну вот-так кстати работает)
правда возвращает пустой список
def myfunc(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Order.objects.filter(date=date)
       ser_instance = serializers.serialize('json', mytables)
       print(ser_instance)
       return JsonResponse({'mytables': ser_instance}, status=200)
убедись что есть на выбраную дату в таблице данные)))
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
убедись что есть на выбраную дату в таблице данные)))
видимо с моделями у меня хрень, если с админки поставить is_reserved вручную) дата то не выбирается
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
я так понял таким образом оно всегда будет под бронью?)
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
@WStanley а можешь ещё подсказать как теперь в django template это обновлять правильно, именно таблицу со столами.
Сейчас у меня вот-так https://gist.github.com/boriskrutskih/658d412300aee119f84c166ebc4f8380
После ответа от сервера положительного, перерисовывай столы с помощью js я сейас срочную работу выполняю к сожалению погрузиться в твой код не могу, может из сторожил кто проснется сейчас подскажет
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
видимо с моделями у меня хрень, если с админки поставить is_reserved вручную) дата то не выбирается
поидеи так не должно быть, у тебя запрос должен вернуть все записи с таблицы Order в которых дата=дате кот ты передал
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
видимо с моделями у меня хрень, если с админки поставить is_reserved вручную) дата то не выбирается
Скорее всего тебе нужно получать все столы с признаком бронь/не бронь и отрисовывать их на фронте
источник

S

Stanley in Django [ru] #STAY HOME
Но на дату))
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
Скорее всего тебе нужно получать все столы с признаком бронь/не бронь и отрисовывать их на фронте
что-то я уже запутался в хлам)

у меня выбор даты и данные для отправки всё должно быть в одной форме?
после выбора даты, стола появляется форма name, email ещё
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
или выбор даты это чисто GET, а отдельно будет отправка POST?
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
или выбор даты это чисто GET, а отдельно будет отправка POST?
выбор даты отдельно ГЕТ, чтобы узнать кокой стол бронь
источник

S

Stanley in Django [ru] #STAY HOME
is_reserved это признак бронь или нет?
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
is_reserved это признак бронь или нет?
да
источник

S

Stanley in Django [ru] #STAY HOME
mytables = Table.objects.filter(order_table__date=date).values_list('id', 'is_reserved', flat=True)
где order_table это задай related_name в  FK таблице ORder
источник