
Artem
28.06.2017
17:41:37
хочу чтобы только id и likes получать например
если хочешь получить то values, если лист с ними, то values_list('likes', flat=True), а можно саму модель урезать и указать only('likes').
id - указать ненадо, ибо он всегда тянется, как PK

Tema
28.06.2017
17:57:54
Здравствуйте!
Делаю backend на django restframework
В модели у каждого класса ForeignKey на пользователя.
Любой GET предполагает фильтр по полю пользователь,
Любой POST и PUT в любую таблицу, предполпагает default значение user=request.user
Подскажите, для данного случае где наиболее грамотно встроить фильтры по user в GET-запросах, и установку значения user=request.user при POST, PUT запросах ?
Т.е. по сути у меня вся система — своя для каждого пользователя... Общее для всех пользователей - только табличка со списком пользователей...

Artem
28.06.2017
17:59:46

Google

Tema
28.06.2017
18:03:41
Спасибо

Artem
28.06.2017
18:07:13
а тебе надо получать юзверя во вьюхах или что?

Tema
28.06.2017
18:08:12
нет, у меня вьюх нет, у меня REST API куда я делаю get, post, put запросы
Django rest framework!

Eugene
28.06.2017
18:08:49
Ну это тоже вьюха, ну там viewset , etc

Tema
28.06.2017
18:09:38
И как парвильно в этом случае сделать?
Проблем по идее стандартная... возникает в любом сервисе для пользователей, где у каждого пользователя собственные данные...
пока не дуается даже нагуглить статьи на эту тему...
Ну ладно... буду искать, думал, что это общеизвестно и я просто неправильные ключевые слова ищу

Artem
28.06.2017
18:14:23

Tema
28.06.2017
18:14:32
да, json

Artem
28.06.2017
18:15:49
И что бы это произошло, ты у себя создаешь фьюхи на базе CBV, налследуясь от ViewSet или прочих ListCreateAPIView. Там имеешь методы:
def get(self, request, *args, **kwargs) и др. Вот в них и получаешь все реквесты и пользователей и пилишь формирование. Пользуясь своими модельками.

Tema
28.06.2017
18:17:27
т.е. во viewSet прописать везде
if request.method == 'GET':
do_something()
elif request.method == 'POST':
do_something_else()
?

Artem
28.06.2017
18:17:46
ну сматри, вот пример

Google

Kirill
28.06.2017
18:20:15
да, json
В сериалайзерах пишешь: user = hiddenField(default=CurrentUset)
С названиями могу ошибаться, пишу с телефона. Можно вынести в отдельный сериалайзер и все от него наследовать. А вот для GET запроса надо queryset вручную фильтровать

Artem
28.06.2017
18:21:03
Вот примерчик
class ListingCardProduct(ListCreateAPIView):
pagination_page = None
permission_class = [AllowAny]
serializer_class = ProductSerializer
def get(self, request, *args, **kwargs):
user = self.request.user
serializer = self.serializer_class(do_smth())
return Response({'data': serializer.data})
def post(self, request, *args, **kwargs):
user = self.request.user
recieve_data = self.request.data
# TODO: Smth with data
serializer = self.serializer_class(do_smth())
return Response({'data': serializer.data})

Tema
28.06.2017
18:25:04
спаибо, попробую разобраться

Диёр
28.06.2017
18:31:44
Как думаете, почему у фласка больше звезд на гитхабе, но в продакшене используют джанго

Matz
28.06.2017
18:36:16

tEma
28.06.2017
19:02:19
слушайте в чем проблема начал изучать django по djbook
почему то на моменте ввода пароля консоль глючит и ничего не вводится
в чем может быть проблема?

Eugene
28.06.2017
19:03:00
так и должно быть :D

b0g3r
28.06.2017
19:03:02
вводится
просто скрывается :)

Eugene
28.06.2017
19:03:08
просто ты не видишь:)

tEma
28.06.2017
19:03:14
ааа бляя
зачем так?

b0g3r
28.06.2017
19:03:46
чтобы за плечом у тебя не подсмотрели

tEma
28.06.2017
19:04:58
работает спасибо

KreG
28.06.2017
20:14:02
Есть у меня свёрстана форма, можно как-то сделать так что бы с ней работали методы стартной авторизации?

Matz
28.06.2017
20:16:00
Конечно

serbernar
28.06.2017
20:18:11
Вот и вопросы подъехали из раздела /б

Google

Диёр
28.06.2017
20:18:27
А ты против?)

serbernar
28.06.2017
20:18:54
Да нет, мне пох, я просто читаю и ахуеваю

Matz
28.06.2017
20:19:41

serbernar
28.06.2017
20:20:25

KreG
28.06.2017
20:27:35
Какой самый простой способ это сделать? Я добавляю в базу данные из формы. Создал базу кастомного юзера и соединил OnetoOne из таблицей User. Потом чтобы работала например функция authenticate из данными кастомного юзера, что нужно?

Matz
28.06.2017
20:34:49

KreG
28.06.2017
20:41:28

Matz
28.06.2017
20:43:12
Хорошо, давай я за тебя прочитаю и дочитаю :)))
Вот тебе пример самого простого способа сделать это:
файл.html
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>

KreG
28.06.2017
20:47:43
Как красиво сюда закинуть код?

Matz
28.06.2017
20:48:22
Faq pinned message
@amureki чекни репозиторий на гитхабе, там у тебя пулл реквест

KreG
28.06.2017
20:50:32
http://dpaste.de/MUin вот моя форма

KreG
28.06.2017
20:55:19
Вот функции обработки https://dpaste.de/cm29

Matz
28.06.2017
20:59:11
Что-то я посмотрел на функцию и страшно стало ?

Igor
28.06.2017
21:01:25
if '@' and '.' not in form['email']:
errors.append('Введите корректный e-mail')
Наверное, лучше все-таки regexp-ом проверять

KreG
28.06.2017
21:08:03
Да там сплошной говнокод.... Мне просто что то робочее доделать по минимуму надо, а потом уже нюансы фиксить. Вообще вопрос в том, если я форму юзаю свою, не через клас Form, смогу ли я юзать стандартные authenticate и login

Artem
28.06.2017
21:12:23
validate_email

Roman
28.06.2017
21:15:32
друзья, извиняюсь за оффтоп, что на фронтенде актуально сейчас? знаю только банальный jq

Google

Artem
28.06.2017
21:15:51
React, Vue.js

Roman
28.06.2017
21:17:12
а всякие анагуляры backbone и ember?
как вообще понят что надо?

Matz
28.06.2017
21:18:35

Roman
28.06.2017
21:19:10
ну на беке знаю django и для ресурсоемких golang
в проекте решили что для дробления нужно разнести бек и фронт

Admin
ERROR: S client not available

Диёр
28.06.2017
22:50:37
Гайс, а вы для контроллеров чаще используете функции или cbv?

Eugene
28.06.2017
22:52:31
cbv
функции же deprecated

Диёр
28.06.2017
22:54:06
Прям настолько?

Eugene
28.06.2017
22:56:39
угу.
последние 3 проекта которые делал/поддерживал все было на CBV

Matz
28.06.2017
22:58:43
+ cbv

Диёр
28.06.2017
23:16:30
а дебажить их в продакшене не сильно сложнее?

Eugene
28.06.2017
23:17:34
намного легче же о.О
и сапортить
хотя хз какая разница в дебаге

Aleksey
28.06.2017
23:48:02
Ребятки, нужно по максимуму скомпилировать файлы Джанго проекта в Cython библиотеки,чтобы не палить код

Диёр
28.06.2017
23:55:49
python это не тот язык, где ты можешь не палить код

Aleksey
29.06.2017
00:01:28

Google

Pavel
29.06.2017
02:12:03

Anb
29.06.2017
02:57:20

Set
29.06.2017
04:26:07

Igor
29.06.2017
05:06:55

Set
29.06.2017
05:14:36
как поставить мультиязычность в моделях и на сайте в целом ? есть статейка какая нибудь ? если есть плиз скиньте пожалуйста )

Artem
29.06.2017
05:23:20

Set
29.06.2017
05:37:45
блин он на PostgreSQL работает только ((( mysql не воспринимает

Zhandos
29.06.2017
06:57:47
Так телеграм заблочат или нет?

Aleksey
29.06.2017
06:58:33
нет, уже официально ркн ответил, что не заблочат, вся необходимая инфа предоставлена

Zhandos
29.06.2017
07:02:36
Понятно, я подумал что они просят инфу, чтоб заблочить

Set
29.06.2017
07:38:49
кто нибудь работал с django-modeltranslation ?

Ruslan
29.06.2017
07:39:02
я работал

Set
29.06.2017
07:41:44
подксажи как подлючить в админке .. вот моя модель админки
class ProductAdmin(admin.ModelAdmin):
exclude = ['id']
list_display = ['name', 'category', 'price']
list_editable = ['price']
list_filter = (('category', TreeRelatedFieldListFilter), 'date_product', 'price')
inlines = [SizeInline, ColorInline, PhotoInline]
extra = 1
когда хочу сделать
ProductAdmin(admin.ModelAdmin, TranslationAdmin) у меня ругается на модуль widgets
заранее большое спасибо )
ну а если пытаюсь так :
class TranslatedNewsAdmin(TranslationAdmin):
pass
admin.site.register(Product, TranslatedNewsAdmin)
то у меня выходит ошибка на странице
'Unknown language code en.’