私はいくつかのモデルを持っていますが、すべての関連付けを作成する方法について少し混乱しています。プロフィール、イベント、メッセージ、受信トレイがあります。各プロファイルには、イベントを保持する eventList があります。各メッセージもイベントに関連付けられています。各受信トレイは、プロファイルと複数のメッセージに関連付けられています。私がやりたいことは、メッセージ オブジェクトが作成されるたびに、そのメッセージが eventList に関連付けられているイベントを保持しているすべてのユーザーの受信トレイに挿入されることです。私のモデルと私が書いているビューを提供する:
class Profile(models.Model):
user = models.OneToOneField(User)
name = models.CharField(max_length=50)
eventList = models.ManyToManyField(Event, blank="TRUE", null="TRUE", related_name='event_set+')
ownedEvent = models.ManyToManyField(Event, blank="TRUE", null="TRUE", related_name='owned_set')
def __unicode__(self):
return self.name
class inbox(models.Model):
def __unicode__(self):
return self.user.name
user = models.OneToOneField(Profile)
message = models.ManyToManyField(message, blank="TRUE", null="TRUE")
read = models.BooleanField(default = 0)
class message(models.Model):
def __unicode__(self):
return unicode(self.body)
def save(self, *args, **kwargs):
if not self.id:
self.created = datetime.datetime.today()
super(message, self).save(*args, **kwargs)
body = models.CharField(max_length=250)
eid = models.ForeignKey(Event)
@login_required
def sendMail(request):
event_id = request.POST['event_id']
e = Event.objects.get(id = event_id)
text = request.POST['body']
m = message(eid = e, body = text)
m.save()
users = e.eventList_set.all()
return HttpResponse(status = 200)