@pydjango

Страница 1173 из 1273
Дмитрий
13.04.2018
13:07:32
а как сделать лучше сохранение/обновление нескольких записей через serializer many=True? Определить сейв в сериализаторе и название в мете этого сериализоватора list_serializer_class, либо создать SerializerList, в котором определить метод save?

Petr
13.04.2018
13:08:30
приветы всем в пятницу 13-ое как правильно отфильтровать унаследованные модели? т.е. есть не-абстрактная модель Image, есть унаследованная от нее Sticker (добавлено несколько полей) - вопрос - как выбрать собственно Images, но не выбрать Stickerы?

Dude
13.04.2018
13:10:50
как это ?
ну save() это же просто функция, я же могу ее периодически вызывать

Google
Petr
13.04.2018
13:11:06
Dan
13.04.2018
13:11:07
можешь

Petr
13.04.2018
13:12:23
Какой тип наследования?
наследуюсь не от абстрактной модели, а от нормальной

Petr
13.04.2018
13:14:24
proxy = ?
без этого

Artem
13.04.2018
13:14:29
Чем не подходит фильтрация через Image.objects.filter?

Bogdan
13.04.2018
13:14:38
Посмотри пакет Джанго полиморфик
у него ужасная производительность. в одном из проектов с ним число запросов к его таблицам было больше, чем ко всем остальным вместе взятым (3 полимодели против 30+ обычных).

Dan
13.04.2018
13:15:46
без этого
Думаю Артем спрашивал как наследовались модели

Dan
13.04.2018
13:18:35
только class Sticker(Image):
в таком случае у Image своя таблица у Sticker своя

выбирай спокойно

Google
Dan
13.04.2018
13:20:06
ну

что не так то ?

Petr
13.04.2018
13:21:18
через is_paid__isnull?

Artem
13.04.2018
13:21:19
Тебе нужны Image, которые не являются Sticker?

Dan
13.04.2018
13:21:37
Dan
13.04.2018
13:21:54
а ты у кого запрос делаешь ?

Image.objects.all() вытаскивает и стикеры ?

Dan
13.04.2018
13:23:59
где то ты меня обманываешь

Petr
13.04.2018
13:24:04
т.е. надо делать абстрактную модель дженерикимэйдж и от нее наследовать имэйдж и стикер?

Dan
13.04.2018
13:24:21
отдельно добаввь в Image

не через стикеры

у тебя будет 16 записей в Image и 15 записей в стикерах

Artem
13.04.2018
13:25:30
Image.objects.exclude(id__in=Sticker.objects.values_list('image_id', flat=True))

Dan
13.04.2018
13:26:12
и тебе нужно вытащить только 16й?

Google
Petr
13.04.2018
13:26:39
с exclude поди оверхед большой

хотя и ладно пока

Artem
13.04.2018
13:27:06
Оверхед на уровне запроса

… where “id” not in (select “image_ptr_id” … )

Dan
13.04.2018
13:28:40
ага
Image.objects.filter(sticker__isnull=True)

Petr
13.04.2018
13:29:24
Image.objects.filter(sticker__isnull=True)
лоооооооооооооооооооооооооооооол

я тупой, просите

Dan
13.04.2018
13:29:51
будет что то вроде SELECT "user_user"."id", .... FROM "user_user" LEFT OUTER JOIN "profile_relative" ON ("user_user"."id" = "profile_relative"."user_ptr_id") WHERE "profile_relative"."user_ptr_id" IS NULL

Dude
13.04.2018
15:03:24
Как добавить форму в такую вьюху https://dpaste.de/u0N4

Dan
13.04.2018
15:04:21
ты либо форму прописывай

либо поля перечисляй

Dude
13.04.2018
15:05:21
я хочу вообще другую форму добавить в эту вьюху

Dan
13.04.2018
15:05:36
в get_context_data

Dude
13.04.2018
15:06:33
а в аргументах что будет ?

а все

вижу, спасибо

Dan
13.04.2018
15:07:35
единственное обрабатывать надо в post

Dude
13.04.2018
15:13:22
https://dpaste.de/XzV9 Что именно обрабатывать? Вот так работает

Dan
13.04.2018
15:13:59
данные с формы ты как получаешь ?

Google
Dude
13.04.2018
15:15:34
form.instance.myfield

или о чем речь

Dan
13.04.2018
15:16:23
я про то что как обрабатываешь данные посланые второй формой

Dude
13.04.2018
15:22:00
а никак

лол

Dan
13.04.2018
15:22:16
апплодисменты

Dude
13.04.2018
15:22:30
мне нужно определить request в функции класса

Dan
13.04.2018
15:22:49
во въюхе ?

Dude
13.04.2018
15:23:51
да, потому что я не могу сделать if request == 'POST' или form = MyForm(request.POST). Стало быть в аргументе нужно написать что-то типа self.request

Dan
13.04.2018
15:24:48
ну во въю да self.request

а так

def post(self, request, *args, **kwargs): response = super().post(request, *args, **kwargs) field_form = SellProductFieldsForm(data=request.POST, instance=self.get_object()) if field_form.is_valid(): field_form.save()

пример обработки второй формы которая отправляется одним запросом

Dude
13.04.2018
15:27:41
ого, нужно было response переопределять , "да, это жестко". Спасибо

только почему модели в super нет?

точнее класса

Dan
13.04.2018
15:28:55
форма класса описывается в свойсвах классах

Dude
13.04.2018
15:29:13
понял

Dan
13.04.2018
15:29:25
response = super().post(request, *args, **kwargs) это по сути выхов встроенного механизма

остальное ручная обработка второй формы

Google
Dude
13.04.2018
15:30:33
видимо этим мы говорим что внезависимости в каком классе лежит вьюха обрабатывать ее постом?

функцию эту

Dan
13.04.2018
15:31:05
не понял

Dude
13.04.2018
15:31:40
а ретурн можешь показать?

Dan
13.04.2018
15:31:54
return response

Dude
13.04.2018
15:31:57
return response?

ну все ясно тогда, спасибо

эмммм get_context_data() missing 1 required positional argument: 'request'def get_context_data(self, request, *args, **kwargs): response = super().post(request, *args, **kwargs)

я же request вернул в аргумент response

Dan
13.04.2018
15:35:49
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs)

Eugene
13.04.2018
15:36:06
def get_context_data(self, **kwargs): # Call the base implementation first to get a context context = super().get_context_data(**kwargs) # Add in a QuerySet of all the books context['book_list'] = Book.objects.all() return context ?

Dude
13.04.2018
15:37:09
как вернуть контекст я понял, что с реквестом делать?

Eugene
13.04.2018
15:37:42
self.request

Dude
13.04.2018
15:37:53
self.request

да

спасибо)

Konstantin
13.04.2018
15:50:48
Может кто то подсказать по django-cron? Создаю крон как в доках, но он срабатывает только раз

Страница 1173 из 1273