Size: a a a

Django [ru] #STAY HOME

2020 May 19

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
так ты вернешь только id столов а тебе еще is_reserved надо чтобы знать есть бронь или нету
это я поправил,я немогу понять почему эта ошибка сыпется
AttributeError: 'Row' object has no attribute '_meta'
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
это я поправил,я немогу понять почему эта ошибка сыпется
AttributeError: 'Row' object has no attribute '_meta'
наверное потому что в mytable tuple приходит а надо лист
источник

S

Stanley in Django [ru] #STAY HOME
проверь что приходит или в доке почитай))
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
наверное потому что в mytable tuple приходит а надо лист
в листе если, тоже самое
источник

DT

Dan Tyan in Django [ru] #STAY HOME
serialize работает с объектом модели
источник

DT

Dan Tyan in Django [ru] #STAY HOME
а вы передаёт туда список
источник

S

Stanley in Django [ru] #STAY HOME
Dan Tyan
serialize работает с объектом модели
а если просто values() то будет объект модели?
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
в листе если, тоже самое
Верни просто без serializera
return JsonResponse({'mytables': mytables}, safe=False)
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
в листе если, тоже самое
источник

S

Stanley in Django [ru] #STAY HOME
либо вот values() объект модели возвращает
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Stanley
а если просто values() то будет объект модели?
нет
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
@WStanley ну вот если таким способом
def check_free_tables(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Table.objects.filter(order_table__date=date).values('id', 'is_reserved')
       # ser_instance = serializers.serialize('json', mytables)
       # print(ser_instance)
       return JsonResponse({'tables': mytables}, status=200, safe=True)

Оно просит его сеарилизовать, а если его серализовать то получаем
```
AttributeError: 'Row' object has no attribute '_meta'
```
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
@WStanley ну вот если таким способом
def check_free_tables(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Table.objects.filter(order_table__date=date).values('id', 'is_reserved')
       # ser_instance = serializers.serialize('json', mytables)
       # print(ser_instance)
       return JsonResponse({'tables': mytables}, status=200, safe=True)

Оно просит его сеарилизовать, а если его серализовать то получаем
```
AttributeError: 'Row' object has no attribute '_meta'
```
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
воо так возвращает
[{"model": "restaurant.table", "pk": 1, "fields": {"is_reserved": false}}, {"model": "restaurant.table", "pk": 2, "fields": {"is_reserved": true}}, {"model": "restaurant.table", "pk": 3, "fields": {"is_reserved": false}}, {"model": "restaurant.table", "pk": 4, "fields": {"is_reserved": false}}]


def check_free_tables(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Table.objects.filter(order_table__date=date)
       ser_instance = serializers.serialize('json', list(mytables), fields=('id', 'is_reserved'))
       print(ser_instance)
       return JsonResponse({'tables': ser_instance}, status=200, safe=False)
источник

S

Stanley in Django [ru] #STAY HOME
Boris Krutskih
воо так возвращает
[{"model": "restaurant.table", "pk": 1, "fields": {"is_reserved": false}}, {"model": "restaurant.table", "pk": 2, "fields": {"is_reserved": true}}, {"model": "restaurant.table", "pk": 3, "fields": {"is_reserved": false}}, {"model": "restaurant.table", "pk": 4, "fields": {"is_reserved": false}}]


def check_free_tables(request):
   if request.is_ajax and request.method == 'GET':
       date = request.GET.get('date')
       mytables = Table.objects.filter(order_table__date=date)
       ser_instance = serializers.serialize('json', list(mytables), fields=('id', 'is_reserved'))
       print(ser_instance)
       return JsonResponse({'tables': ser_instance}, status=200, safe=False)
Ну какбы цель достигнута)))) только вывод не такой как ожидалось))) наверное есть лучше решение 😊 но впринципе на фронте можешь такой ответ обрабатывать.
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Stanley
Ну какбы цель достигнута)))) только вывод не такой как ожидалось))) наверное есть лучше решение 😊 но впринципе на фронте можешь такой ответ обрабатывать.
ну почти достигнута))) при создании заказа с админки сейчас пробую, стол должен помечаться как is_reserved, я так понял этого добиться можно в моделях используя метод save()?
источник

S

Stanley in Django [ru] #STAY HOME
Поидее можно же просто сформировать объект и выбросить его без сериализатора
источник

BK

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

S

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

S

Stanley in Django [ru] #STAY HOME
и тру ми фалс
источник