簡體   English   中英

Django使用ManyToMany字段創建有界表格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM