
Bob
06.08.2017
13:24:32
Если товар по сексу, то тут какая цель, если много товаров, то делать выборки "все категории по сексу и взять эти товары", либо и товары привязать ForeignKey
В общем как бы я сделал через модели: Sex -> Category -> Product

Uncle
06.08.2017
13:25:33
родилель модель секс, от нее категория и в конце продукт?
я так и сделал

Google

Bob
06.08.2017
13:25:43
Если через choice Category имел бы поле с двумя значениями (плюс индекс) -> Product
OneToOne здесь явно не подходит
Но мне кажется, что держать отдельную таблицу для двух строк - ни к чему

Uncle
06.08.2017
13:27:53
ну не суть , ок, поменяля категори секс на choices от что меня интересует
непонятно написал я помоему
короче, choices не проблема, если надо уберу отдельную моделить и припилю выбор к полу, это не проблема, проблема подружить одно поле с другим из разных классов
если форей кей, то как? я не нашел в документации как указать к полю а не к классу

Bob
06.08.2017
13:29:33
может товар для female находиться в категории для male?

Uncle
06.08.2017
13:30:46
нет конечно, в админке при создани категории будет выбор для кого это категория, дальше - когда создается товар, выберается категория в которой заведомо уже пол выбран. и этот же пол наследуется в соответствующее поле продукта
и в самом проудкте по умолчанию пол не выводится,он там не нужен - возле названия категории будет иконка мужчины или женщины

Bob
06.08.2017
13:31:42
А вот и вопрос, а нафига товару поле про пол?
Ведь есть категория и там есть этот признак

Uncle
06.08.2017
13:32:17
а как на вьюхе сортировать товары по полу?

Google

Bob
06.08.2017
13:32:22
и взять его так: some_product.category.sex
order_dy('category__sex')
Вы ipython установите и в shell поиграйтесь с вашими моделями
в том числе и с сортировками

Uncle
06.08.2017
13:34:24
я имел ввиду не сортировку а фильтр, как фильтровать. ведь на страницу по запросу мужской обуви должна выводиться только мужская products.objects.filter(category=category, available=True, sex='Ему') - но ведь в классе products нет поля секс

Bob
06.08.2017
13:35:19
Product.objects.filter(category__sex='female')
Это если будет choices

Uncle
06.08.2017
13:36:09
через нижнее подчеркивание можно обращаться к полю?

Bob
06.08.2017
13:36:13
Product.objects.filter(category__sex=sex_instance)

Uncle
06.08.2017
13:36:18
другого класса, который прописанв форей кей?

Bob
06.08.2017
13:36:25
Через два, читайте доки :)
Красиво, да?

Uncle
06.08.2017
13:36:52
ну так то все вроже проще становится

Bob
06.08.2017
13:37:07
?

Uncle
06.08.2017
13:37:24
тогда еще вопрос, можно ли в choices завернуть img?
хочу маленькие иконки в админку

Bob
06.08.2017
13:37:49
нет

Eugene
06.08.2017
13:37:52
Можно попробовать путь к картинке )

Bob
06.08.2017
13:38:00
а нафига?
вы не путайте логику данных в базе и внешний вид (мишуру)

Google

Uncle
06.08.2017
13:38:59
когда категория Обувь будет и у мужчин и у женщин без особых опознавательных знаков и символов, выбирать какие категории к какому пренадлежат будет затруднительно (при добавлении нового товара), так как категории будут называться одинакоо

Bob
06.08.2017
13:38:59
делайте свой widget для админки

Eugene
06.08.2017
13:39:00
Ну оно не надо.
Widget или шаблон переопределить
Аа, ну картинку в категорию мб?

Bob
06.08.2017
13:39:47
А я люблю буковки, раз и выпал списочек
и не надо ни каких иконок

Artem
06.08.2017
13:39:58
Буквачки

Uncle
06.08.2017
13:40:01
не в саму категорию, а только для вывода в админку, чтоб возле нащзвания выводилась малеькая иконка

Bob
06.08.2017
13:40:41
В прямом, сделайте, чтоб работало, а потом голову грейте украшательством
это разные задачи, если что

Uncle
06.08.2017
13:41:05
так как*

Bob
06.08.2017
13:41:45
:) ну я все сказал, еще есть чего спросить? или я побежал

Uncle
06.08.2017
13:42:18
да, а вадминке list_display = ['name + (img)']
так можно?
название каетгории и маленькая иконка
в одной строке
или без скобок

Google

Uncle
06.08.2017
13:43:11
и через запятую

Bob
06.08.2017
13:43:23
Так нет
Как джанга узнает какая иконка для конкретной категории?
Она же список получит :)

Uncle
06.08.2017
13:45:13
а если img сделать чарфилдом + choices и туда завернуть ссылки на картинки

Eugene
06.08.2017
13:45:44
А почему поле image field не подходит ?)))

Uncle
06.08.2017
13:46:01
потому что в одном поле 1 картинка

Bob
06.08.2017
13:46:09
И?

Uncle
06.08.2017
13:46:26
а у меня 2 картинки, зачем мне 2 поля

Admin
ERROR: S client not available

Eugene
06.08.2017
13:46:52
list_display = ("name", "icon",)

Bob
06.08.2017
13:47:00
Странный вы, 2 поля плохо, а одна дополнительная таблица это ништяк :)

Uncle
06.08.2017
13:47:23
ну, в icon мне нужно зварнуть две картинки

Bob
06.08.2017
13:47:26
Ну а если серьезно, то из одной картики можно превьюшек сделать кучку

Uncle
06.08.2017
13:47:36
или list_display = ("name", "icon", 'icon2') ?

Bob
06.08.2017
13:47:38
sorl-thumbnail какой нить

Eugene
06.08.2017
13:48:05
Блин, я чего то не понимаю :(

Bob
06.08.2017
13:48:06
Нет, тут надо будет сделать метод, который будет плеваться html кодом

Uncle
06.08.2017
13:48:20
ааа

Bob
06.08.2017
13:48:35
чувак хочет в списке категорий икони наблюдать, половые

Google

Uncle
06.08.2017
13:48:56
я видел у чела, он как то выводил в админку в строку категории количество категорий в скобочках, прямо в строке названия категории
вот в таком духе мне нужно завернуть и иконку

Eugene
06.08.2017
13:49:40
Ну, свой метод пишешь и в нем возвращаешь HTML

Uncle
06.08.2017
13:50:04
а этот метод куда потом, в admin.py?

Eugene
06.08.2017
13:50:32
И потом в list_display = ("method_name"

Uncle
06.08.2017
13:50:48
все
понял

Bob
06.08.2017
13:50:58
В модели метод этот нужно сделать

Eugene
06.08.2017
13:51:12
В Гугле и на стак оверфлоу куча примеров :)

Uncle
06.08.2017
13:51:15

Bob
06.08.2017
13:51:39
Как вам угодно ?

Uncle
06.08.2017
13:52:10
понял, спасибо большое, какой раз меня комьюнити выручает
❤️

Pavel
06.08.2017
14:37:05
Делаю REST API, нужно загружать файл + метаданные. Можно было бы сделать просто Content-Type: multipart/form-data, но проблема в том, что все данные приходят в строке, и валидацию не проходят, т.к. если я хочу сделать какое-то поле в моделе null, то на сервер придет "null", он будет думать, что это строка. Нужно отправить файл + json, кто-то делал такое, желательно в контексте DRF?

Bob
06.08.2017
15:36:50
https://stackoverflow.com/questions/20473572/django-rest-framework-file-upload
Оно?

Artem
06.08.2017
16:02:49
Делаю REST API, нужно загружать файл + метаданные. Можно было бы сделать просто Content-Type: multipart/form-data, но проблема в том, что все данные приходят в строке, и валидацию не проходят, т.к. если я хочу сделать какое-то поле в моделе null, то на сервер придет "null", он будет думать, что это строка. Нужно отправить файл + json, кто-то делал такое, желательно в контексте DRF?
можно, делаешь через multipart/form-data, и во вьюхе указываеш parser_class = MultiPartParser. После чего уже в self.request.data будут и данные(JSON поля) и файлики!

Pavel
06.08.2017
16:03:46

Artem
06.08.2017
16:04:17
ты шлешь их в мультипарт, и уже класс разбирает все данные

Pavel
06.08.2017
16:05:54
в miltipart/form-data обычно все переданные данные кодирует в строку. Т.е. делает name: value
------WebKitFormBoundaryPfKUrmBd9vRwp5Rb
Content-Disposition: form-data; name="last_name"
Shmest