Я хочу создать ограниченную форму с полем ManytoManyДжанго создать ограниченную форму с ManyToMany поле
у меня есть мой models.py как этот
from django.db import models
from django.contrib.auth.models import User, Group
class Message(models.Model):
sender = models.ForeignKey(User, related_name = 'message_sender')
user_receiver = models.ManyToManyField(User, related_name = 'message_receiver', null = True, blank = True)
group_receiver = models.ManyToManyField(Group, null = True, blank = True)
message_content = models.TextField()
send_time = models.DateTimeField('Scheduled Date & Time',null = True, blank = True)
MESSAGE_STATUS = (('OUTBOX','Outbox'),('SEND','Send'),('SEEN','Received'))
status=models.CharField(max_length = 6, choices = MESSAGE_STATUS)
мой views.py
def edit_message(request, message_id):
e_message=Message.objects.get(id=message_id)
data={'user_receivers':e_message.user_receiver,
'group_receivers':e_message.group_receiver,
'message':e_message.message_content,
'scheduled_time':e_message.send_time
}
form=ComposeMessageForm(data)
context = {'form':form}
return render(request,'msgin/compose_message.html',context)
I получить сообщение об ошибке
'ManyRelatedManager' object is not iterable
Как я могу сделать ограниченную форму с полем ManytoMany
я хочу сделать что-то вроде этого есть заменяющий e_message.user_receiver ...
def edit_message(request, message_id):
e_message=Message.objects.get(id=message_id)
data={'user_receivers':[u'1',u'2'],
'group_receivers':e_message.group_receiver,
'message':e_message.message_content,
'scheduled_time':e_message.send_time
}
form=ComposeMessageForm(data)
context = {'form':form}
return render(request,'msgin/compose_message.html',context)
здесь данный список предварительно выбранные пользователей этого конкретного MESSAGE_ID
как я могу изменить объект e_message.user_receiver в виде списка, как [u'1' , u'6' ] – wrufesh