我有一个活动邀请模型:
class EventInvitation(models.Model):
from_user = models.ForeignKey(User, related_name="inviters")
to_user = models.ForeignKey(User, related_name="invited")
text = models.CharField(max_length= 150)
event = models.ForeignKey(Event)
sent = models.DateTimeField(auto_now=True)
status = models.IntegerField(choices=INVITATION_STATI, default=0)
我要做的是创建一个动态邀请表单(而不是ModelForm),邀请者根据查询/可以被特定用户邀请的人选择用户,以及基于查询的组选择(邀请者必须是组的所有者)。。。由于EventInvitation是针对单个用户的,因此我将遍历选定的用户和组成员,并为所有用户和成员创建单独的邀请。你知道我怎么生成这个动态的表单吗?在
据我所知,你想要一个登录的用户,在一个事件页面中,点击一个“邀请其他人”按钮,这个按钮会显示一个表单,他可以在其中选择特定的用户和组,指定一些文本,然后单击“发送”。然后你的应用程序应该创建许多邀请实例(每个用户一个)并发送它们,跟踪邀请的状态。如果我的建议是正确的,那么我的建议是:
使用以下模型将使您能够更好地控制数据(只保留文本一次,并允许您查找所有用户的特定邀请):
使用如下简单的形式:
^{pr2}$将
...
替换为用于筛选正确组和用户的代码。在还有这样一种观点:
更新:您还可以用更像python的方式创建动态表单:
使用user参数将},而不是{}。在
...
替换为queryset,然后使用get_invite_form(request.user)(request.POST)
和{相关问题 更多 >
编程相关推荐