Size: a a a

Django [ru] #STAY HOME

2019 November 16

N

Nire in Django [ru] #STAY HOME
Добрый вечер), у меня есть табличка евентов и внутри поле manytomany участников, как можно сделать добавление пользователя из request.user в это поле?
источник

V

Vladimir in Django [ru] #STAY HOME
Nire
Добрый вечер), у меня есть табличка евентов и внутри поле manytomany участников, как можно сделать добавление пользователя из request.user в это поле?
А в чем проблема?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nire
Добрый вечер), у меня есть табличка евентов и внутри поле manytomany участников, как можно сделать добавление пользователя из request.user в это поле?
почитай тут:
https://docs.djangoproject.com/en/2.2/topics/db/examples/many_to_many/#many-to-many-relationships

или напиши более подробно
источник

N

Nire in Django [ru] #STAY HOME
Не могу понять как это сделать, в интернете нашел решение через
x = event.objects.get(event_id = event_id)
x.people.add(request.user)
x.save()
это оптимальное?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nire
Не могу понять как это сделать, в интернете нашел решение через
x = event.objects.get(event_id = event_id)
x.people.add(request.user)
x.save()
это оптимальное?
последнее .save() нужно только если ты менял x
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
add() добавляет без save()
источник

N

Nire in Django [ru] #STAY HOME
но я же добавляю в подписки пользователя
источник

N

Nire in Django [ru] #STAY HOME
Спасибо
. А как тогда чекать наличие юзеров в этом списке?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
x = event.objects.get(event_id = event_id).people.all()
или count() и тд
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
всегда помни что в
event.objects.get(event_id = event_id).people
у тебя Queryset()
источник

N

Nire in Django [ru] #STAY HOME
надо в list(.values()) переводить?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
не могу сказать не зная условий задачи
источник

N

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

N

Nire in Django [ru] #STAY HOME
такое может не сработать?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nire
такое может не сработать?
я бы не стал сравнивать объекты

а сделал бы так:
participants = (p.id for p in event.participants.all())
if request.user.id in participants:
   ...
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Nire
такое может не сработать?
и тут бы сделал явный перевод в int
get(event_id = int(request.data['event_id']))

в request помоему все в строках
источник

N

Nire in Django [ru] #STAY HOME
Artem Gubatenko
я бы не стал сравнивать объекты

а сделал бы так:
participants = (p.id for p in event.participants.all())
if request.user.id in participants:
   ...
спасибо, это круто. если юзернейм пользователь умеет менять
источник

Т

Тимур in Django [ru] #STAY HOME
Artem Gubatenko
в форме, в методе clean(), проверь свои поля в
cleaned_data = super().clean()


если значение не устраивает - добавь ошибку через self.add_error()

тогда .is_valid() вернет False если твоя проверка сработает
мне подходит встроенный валидатор джанго
на проверку юрл
как его туда подвязать?
источник

Т

Тимур in Django [ru] #STAY HOME
подскажи пожалуйста
источник

Т

Тимур in Django [ru] #STAY HOME
источник