[英]How to create a form field for every foreignkey in manytomany relationship in django
[英]Django create bounded form with ManyToMany Field
我想用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)
我說錯了
'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的先前選擇的用戶
您忘記了all()
:
data = {
'user_receivers': e_message.user_receiver,
'group_receivers': e_message.group_receiver.all(),
'message': e_message.message_content.all(),
'scheduled_time': e_message.send_time
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.