У меня есть пара моделей, настроенных для пользователей и событий. Я хочу, чтобы пользователи могли добавлять события к себе. Я могу идти об этом совершенно неправильно, но то, что я до сих пор эти модели:Попытка связать две модели с помощью Django
class Profile(models.Model):
user = models.OneToOneField(User)
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name
class eventItem(models.Model):
user = models.ForeignKey(Profile)
event = models.ForeignKey(Event)
def __unicode__(self):
return self.event.title
class Event(models.Model):
def __unicode__(self):
return self.title
event_id = models.BigIntegerField(blank = 'TRUE', primary_key='TRUE')
title = models.CharField(max_length=200, blank = 'TRUE')
Я пытаюсь написать вид, который активируется каждый раз, когда пользователь нажимает на кнопку, расположенную рядом с событием. Результат должен каким-то образом связать пользователя и событие вместе, чтобы впоследствии просмотреть список событий, которые посещает каждый пользователь. Я думаю, что я также могу использовать неправильный тип поля для eventItem. Поскольку многие пользователи могут ссылаться на одно и то же событие, и многие события могут ссылаться на одного пользователя, должен ли я использовать ManytoMany?
Спасибо, я прочитал немного больше и изменил его на это. Теперь, как бы я обработал запись вида, которое активируется, когда я нажимаю кнопку, и добавляет событие в «eventList» пользователя. – Xonal
. При нажатии кнопки у вас есть два варианта: либо вы используете метод GET (используя URL-адрес), либо Метод POST (форма или javascript). В представлении вам следует использовать user.eventList.add (event) после того, как вы поймаете request.method == «POST» или request.method == «GET» и соответствующий запрос данных. POST/request.GET. Попробуйте увидеть в документах о GET и POST в Django. –