Size: a a a

Django [ru] #STAY HOME

2021 February 22

NC

Nikolay Cherniy in Django [ru] #STAY HOME
но если добавишь м2м тщ будет ModelA.objects.filter(model_b=N)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Нет, если у ModelA есть несколько items и тот который мне надо tems__model_b__id=ID_MODEL_B, возвращается все items
так, стоп, а ModelA.objects.filter(items__model_b=N) не работает?
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
так, стоп, а ModelA.objects.filter(items__model_b=N) не работает?
Нет, не работает, надо исключить те items где tems__model_b__id != ID_MODEL_B, так возвращется все
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Нет, не работает, надо исключить те items где tems__model_b__id != ID_MODEL_B, так возвращется все
так тебе нужно получить модел а там где модел б связанный через айтемы равен только Н и никакому другому? то есть если есть модел а связанный с несколькими модел б он не подойдет?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Нет, не работает, надо исключить те items где tems__model_b__id != ID_MODEL_B, так возвращется все
попробуй привести пример того что в модел а, модел б, айтеме и что нужно чтобы получилось
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
так тебе нужно получить модел а там где модел б связанный через айтемы равен только Н и никакому другому? то есть если есть модел а связанный с несколькими модел б он не подойдет?
Подойдет, мне из items ов надо исключить model_b != H
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Подойдет, мне из items ов надо исключить model_b != H
так тебе айтемы нужно отсортировать или модел а?
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
попробуй привести пример того что в модел а, модел б, айтеме и что нужно чтобы получилось
В items ах должна быть только те model_b__id=H
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
В items ах должна быть только те model_b__id=H
Значит ты фильтруешь не то, как ты фильтруя модел а хочешь получить только конкретные айтемсы, это фильтр айтемсов а не модел а
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
Значит ты фильтруешь не то, как ты фильтруя модел а хочешь получить только конкретные айтемсы, это фильтр айтемсов а не модел а
for i in ModelA.objects.all()# здесь из items как то можно исключить где items__model_b!=Нужный мне ID :
   i.items #  в этих items должно быть только те items где model_b = Нужный мне ID
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
for i in ModelA.objects.all()# здесь из items как то можно исключить где items__model_b!=Нужный мне ID :
   i.items #  в этих items должно быть только те items где model_b = Нужный мне ID
так, мне кажется ты сам не до конца понимашь что тебе нужно, ну или не можешь объяснить. Ты не можешь фильтруя ModelA получить только какие то items, потому что ты получаешь инстансы ModelA
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
так, мне кажется ты сам не до конца понимашь что тебе нужно, ну или не можешь объяснить. Ты не можешь фильтруя ModelA получить только какие то items, потому что ты получаешь инстансы ModelA
Я не пытаюсь получить items фильтруя ModelA

for instance_model_a in ModelA.objects.all():# здесь можно как то items переписать?
   instance_model_a.items.all()

У каждого instance_model_a должно быть items где items__model_b__id=ID
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Я не пытаюсь получить items фильтруя ModelA

for instance_model_a in ModelA.objects.all():# здесь можно как то items переписать?
   instance_model_a.items.all()

У каждого instance_model_a должно быть items где items__model_b__id=ID
ну давай на конкретном примере, есть модель клиента и есть модель продукта и есть модель покупки которая ссылается на купившего покупателя и на модель продукта который купили, если ты фильтруешь покупателей ты получаешь по купленному продукту, ты получаешь всех покупателей кто покупал этот продукт, при этом купленные продукты у них будут все те же, то есть ты не можешь отфильтровать сами покупки фильтруя покупателя
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
>> У каждого instance_model_a должно быть items где items__model_b__id=ID
ModelA.objects.filter(items__model_b=N) делает именно это
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
>> У каждого instance_model_a должно быть items где items__model_b__id=ID
ModelA.objects.filter(items__model_b=N) делает именно это
Допустим

Instance_model_a = ModelA.objects.filter(items__model_b=N).last()

Так он фильтрует только ModelA
и если Instance_model_a есть несколько items где items__model_b__id=N, items__model_b_id=N1, items__model_b_id=N2
Instance_model_a.items.count() здесь я получу 3 а нужно 1 только
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Допустим

Instance_model_a = ModelA.objects.filter(items__model_b=N).last()

Так он фильтрует только ModelA
и если Instance_model_a есть несколько items где items__model_b__id=N, items__model_b_id=N1, items__model_b_id=N2
Instance_model_a.items.count() здесь я получу 3 а нужно 1 только
у меня уже заказнчивается терпение, еще немного и пойдут маты. Ты фильтруешь модель а, ты получаешь модель а, ты понимаешь что у модели а может быть несколько айтемов? и когда ты фильтруешь модель а ты не можешь фильтровать эти айтемы?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Допустим

Instance_model_a = ModelA.objects.filter(items__model_b=N).last()

Так он фильтрует только ModelA
и если Instance_model_a есть несколько items где items__model_b__id=N, items__model_b_id=N1, items__model_b_id=N2
Instance_model_a.items.count() здесь я получу 3 а нужно 1 только
получается что ты фильтруешь модель а, а хочешь получить один айтем, нет ощущение что ты фильтруешь что-то не то?
источник

TB

Tim B in Django [ru] #STAY HOME
Nikolay Cherniy
получается что ты фильтруешь модель а, а хочешь получить один айтем, нет ощущение что ты фильтруешь что-то не то?
Не один, нужен список ModelA с отфильтрованныи items у каждого инстанса
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Tim B
Не один, нужен список ModelA с отфильтрованныи items у каждого инстанса
>>с отфильтрованныи items у каждого инстанса
как ты себе это представляешь?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
это работает не так, если ты хочешь отфильтровать что-то у инстанса это нужно фильтровать отдельно, ты не можешь фильтруя модель а отфильтровать и айтемы, я уже не знаю как это еще сказать
источник