Size: a a a

Django [ru] #STAY HOME

2019 December 02

k

kambeerhunter in Django [ru] #STAY HOME
Ок, пусть не o2o. Но это m2m изначально там неверно
источник

А

Алексей in Django [ru] #STAY HOME
kambeerhunter
Тогда смысл в фк? Там one2one будет нужен
one2one неудобен в проверке, т.к. isinstance надо
источник

GS

Grigory Surkov in Django [ru] #STAY HOME
kambeerhunter
Ок, пусть не o2o. Но это m2m изначально там неверно
Почему? Пусть у юзера будет 2 кредитки и 1 дебетовая карта. В чем проблема?
источник

k

kambeerhunter in Django [ru] #STAY HOME
В том что одна кредитка может оказаться у 2-3-4 и т.д. пользователей
источник

k

kambeerhunter in Django [ru] #STAY HOME
И даже если явно это не сделать, структура базы это позволяет. А так быть не должно
источник

Н

Никита in Django [ru] #STAY HOME
Artem Gubatenko
form.data - содержит данные из request.POST
если там нет твоего поля, то и в form.cleaned_data не будет

в request.POSTrequest.POST, ManyToMany поле без multiple у select или если одно значение пришло,  будет выглядеть также как и остальные поля -
'Asset_link-3-from_asset': ['2']
ну это я понял, а где могут отрезаться или пропасть данные?
источник

k

kambeerhunter in Django [ru] #STAY HOME
Ну и что мешает сделать тогда уж 2 поля у юзера (карта, депозит) и сохранять в нужное? Если модели не менять
источник

Н

Никита in Django [ru] #STAY HOME
а началось всё с того, что вот это несмотря на настройку не создает симметричную связь
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
ты проверяешь после валидации формы? список ошибок формы проверял? в request.POST нужные данные приходят?
источник

GS

Grigory Surkov in Django [ru] #STAY HOME
kambeerhunter
Ну и что мешает сделать тогда уж 2 поля у юзера (карта, депозит) и сохранять в нужное? Если модели не менять
Таки депозит включает в себя поле юзера.
источник

Н

Никита in Django [ru] #STAY HOME
Artem Gubatenko
ты проверяешь после валидации формы? список ошибок формы проверял? в request.POST нужные данные приходят?
тут всё сложно) ебического размера проект написанный пятью поляками
да, всё работает, нужно имея связь m2m создать к нему обратную
источник

GS

Grigory Surkov in Django [ru] #STAY HOME
kambeerhunter
И даже если явно это не сделать, структура базы это позволяет. А так быть не должно
Хотя тут согласен. Прислушаюсь, надо переделать
источник

Н

Никита in Django [ru] #STAY HOME
я это даже реализовал в save() модели но оно срабатывает постфактум, после второго нажатия "save"
        linkdata = self.link.through.objects.values_list('from_asset_id','to_asset_id')
       for tolink in linkdata:
           if not (tolink[1], tolink[0]) in linkdata:
               self.link.through.objects.create(from_asset_id=tolink[1], to_asset_id=self.pk)
источник

Н

Никита in Django [ru] #STAY HOME
тут просто столько всего наворочено я сижу и перманентно офигеваю над этим
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
if not (tolink[1], tolink[0]) in linkdata:

что ты этим проверяешь?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Никита
тут всё сложно) ебического размера проект написанный пятью поляками
да, всё работает, нужно имея связь m2m создать к нему обратную
что имеется ввиду под обратной связью?
через related_name и так можно получить данные
источник

Н

Никита in Django [ru] #STAY HOME
Artem Gubatenko
что имеется ввиду под обратной связью?
через related_name и так можно получить данные
когда я создаю from 2 to 3 чтобы создавался from 3 to 2
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Никита
когда я создаю from 2 to 3 чтобы создавался from 3 to 2
а у связанной таблицы есть обратное ManyToMany поле?
источник

Н

Никита in Django [ru] #STAY HOME
Artem Gubatenko
а у связанной таблицы есть обратное ManyToMany поле?
там 'self'
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Никита
там 'self'
пока я не понял в какой момент и где ты смотришь cleaned_data, какая у тебя форма
источник