Size: a a a

Django [ru] #STAY HOME

2020 May 06

D

Dmitry in Django [ru] #STAY HOME
Dan Tyan
в где ?
шуткую (не совсем). Часть бизнес логики, особенно прожорливой можно переписать на SQL и упаковать в методы менеджера
источник

C

Cicerō in Django [ru] #STAY HOME
Dmitry
шуткую (не совсем). Часть бизнес логики, особенно прожорливой можно переписать на SQL и упаковать в методы менеджера
иногда можно переходит в нужно, не всегда есть выбор)
источник

D

Dmitry in Django [ru] #STAY HOME
Cicerō
иногда можно переходит в нужно, не всегда есть выбор)
Ага. У меня в проекте этот случай, иначе никак
источник

C

Cicerō in Django [ru] #STAY HOME
если сильно постараться можно и от джанги так избавиться)
источник

VZ

Vlad Zhirov in Django [ru] #STAY HOME
Здравствуйте товарищи. Может у кого была похожая ситуация. Есть modelAdmin, в ней есть fieldsets. но один блок в этом филдсете не отображается
источник

C

Cicerō in Django [ru] #STAY HOME
tot samiy neizvestniy
Но сигналы это очень неявная штука. И в больших проектах это довольно проблематично контролить. Особенно, если не ты их писал.
Но я же не предлагал всю логику вынести в сигналы) ДА и сигналы - это надстройка над моделями, они по сюти хранятся рядом с ними и это не мешает принципу "толстые модели тонкие представления"
источник

C

Cicerō in Django [ru] #STAY HOME
Иногда и модели можно оставить тонкими и вынести логику вообще в отдельный слой
источник

C

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

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Cicerō
Но я же не предлагал всю логику вынести в сигналы) ДА и сигналы - это надстройка над моделями, они по сюти хранятся рядом с ними и это не мешает принципу "толстые модели тонкие представления"
Модели толстыми не должны быть
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
tot samiy neizvestniy
Модели толстыми не должны быть
++
источник

VK

Valentin Komarov in Django [ru] #STAY HOME
tot samiy neizvestniy
Модели толстыми не должны быть
А можете раскрыть ваш тезис?)
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Valentin Komarov
А можете раскрыть ваш тезис?)
В модели должны быть поля, метакласс и какие-то основные методы. Но модели явно не должны быть спагетти-стайл. Я однажды такую модель увидел на 40 методов в 500+ строк. Кровь из глаз шла.
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
tot samiy neizvestniy
В модели должны быть поля, метакласс и какие-то основные методы. Но модели явно не должны быть спагетти-стайл. Я однажды такую модель увидел на 40 методов в 500+ строк. Кровь из глаз шла.
Да и не лучший вариант хранить бл в моделях. По сути они должны отображать структуру бд, как я думаю. А бл выносить в другой слой
источник

NL

Nikita L in Django [ru] #STAY HOME
Подскажите плз, как можно реализовать такой вывод объектов на странице

Есть модельки:
Game(models.Model):
   slug = …

Player(models.Model):
   …

PlayerStats(models.Model):
   some_field = …
   game = models.ForeignKey(Game, on_delete=models.CASCADE)
   player = models.ForeignKey(Player, on_delete=models.CASCADE)


У одного Player может быть несколько PlayerStats
В url приходит 1 параметр  
<game_slug>


Задача:
Нужно вывести список объектов Player, чтобы у них был доступен атрибут some_field, фильтруя их по PlayerStats. Где у PlayerStats.game.slug = <game_slug>
источник

DT

Dan Tyan in Django [ru] #STAY HOME
тебе нужен some_field имего от player-а?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nikita L
Подскажите плз, как можно реализовать такой вывод объектов на странице

Есть модельки:
Game(models.Model):
   slug = …

Player(models.Model):
   …

PlayerStats(models.Model):
   some_field = …
   game = models.ForeignKey(Game, on_delete=models.CASCADE)
   player = models.ForeignKey(Player, on_delete=models.CASCADE)


У одного Player может быть несколько PlayerStats
В url приходит 1 параметр  
<game_slug>


Задача:
Нужно вывести список объектов Player, чтобы у них был доступен атрибут some_field, фильтруя их по PlayerStats. Где у PlayerStats.game.slug = <game_slug>
Game(models.Model):
   slug = …

Player(models.Model):
   …

PlayerStats(models.Model):
   some_field = …
   game = models.ForeignKey(
       Game, on_delete=models.CASCADE,
       related_name="playerstats_game"
   )
   player = models.ForeignKey(
       Player, on_delete=models.CASCADE,
       related_name="playerstats_player"
   )


players = Player.objects.filter(
   playerstats_player__game__slug=<game_slug>
)


что за some_field?
источник

NL

Nikita L in Django [ru] #STAY HOME
Dan Tyan
тебе нужен some_field имего от player-а?
Да. Логика в том, что у игрока может быть несколько статистик по разным играм и нужно вывести именно по той игре, которую передали в url. При этом нужны атрибуты самого Player
источник

NL

Nikita L in Django [ru] #STAY HOME
Вроде как надо через annotate делать, но хз как поступить с фильтрацией PlayerStat по Game
источник

DT

Dan Tyan in Django [ru] #STAY HOME
задача немного не понятная

тебе нужно получить значение поля some_filed


по игре ты можешь получить список список игроков

у игрока ты можешь получить список статов
источник

DT

Dan Tyan in Django [ru] #STAY HOME
у одного игрока по одной игре может быть несколько статов?
источник